求大神指点,急
现在要实现一个功能,根据选中的checkbox从mongodb数据库中查询对应的字段并在tablewidget中显示相应的查询结果递归遍历qstandarditemmodel,函数第一个形参list容器里嵌套一个_qlst_item,这个是typedef出来的一个小的list容器,目的是对每级目录下所选取的checkbox分成多组保存起来,但现在情况是所有选出的都保存在大的list中,去查询调用函数时会显示在一个tablewidget中,但我是想根据每组里面选取的个数建立对应组数量的tablewidget并把数据放入。 现在脑子有点混乱,不知道该如何去修改。
图片如下:
函数实现如下:
--------------------编程问答-------------------- 要修改啥?。。树和tabelwidget都是自己的。。想咋改咋改呢? --------------------编程问答--------------------
void LogInfoMultiSelectDisplay::getCheckData(std::list<_qlst_item>& _item_list, QStandardItem *pItem, int nDepth) //递归QStandardItemModel,遍历所有选中的checkbox
{
if (pItem)
{
_qlst_item _all_item_info;
nDepth = 0;
if(pItem->hasChildren())
{
for(int i=0; i<pItem->rowCount(); ++i)
{
for (int j=0; j<pItem->columnCount(); ++j)
{
QStandardItem *pChild = pItem->child(i, j);
getCheckData(_item_list, pChild, nDepth);
}
}
}
else if(pItem->checkState() == Qt::Checked)
{
_all_item_info.push_back(pItem);
nDepth++;
if (nDepth == 1)
{
_item_list.push_back(_all_item_info);
}
}
}
}
大神,现在实际情况:list中4个队列,每个都只存一个,而我想要实现的结果是list中有两个队列,每个分别保存一组里面选中的两个。 现想在这个递归里面实现,否则之后比较难以控制,不知该如何修改这个递归函数达到所期望的那样。 --------------------编程问答-------------------- 除
补充:移动开发 , Qt