带有"子树"的QTreeWidgetItemIterator
QTreeWidgetItemIterator with a "subtree"
我正在尝试迭代QTreeWidget的一部分。所以我使用一个QTreeWidgetItemIterator和一个QTreeWidgetItem的构造函数。但是迭代器并不只访问该元素及其子元素,而是"上升"并继续到给定元素之后。
QTreeWidgetItem *root = topLevelItem(0);
QTreeWidgetItemIterator it(root);
while (*it)
{
qDebug() << (*it)->text(0);
++it;
}
所以我得到了这个而不是只有1x个节点。
node1
node11
node12
node2
node21
正常吗?是否可以使用此迭代器在节点上迭代?
谢谢。
对QTreeWidget不是很熟悉,但我重新运行了类似的程序,似乎它们的迭代器从开始节点迭代到树的末尾。在本例中,这应该可以完成工作(尽管有点难看):
QTreeWidgetItem *root = topLevelItem(0);
QTreeWidgetItemIterator it(root);
int nodesCount = 1; //for root, each visited child will update the count
for (int i = 0; i < nodesCount; ++i)
{
qDebug() << (*it)->text(0);
nodesCount += (*it)->childCount; //update the count for this node children
++it;
}
相关文章:
- 如何将字符串属性设置为 QTreeWidgetItem?
- QTreeWidgetItem 设置不可选择将清除选择
- 如何获得QTreeWidgetItem中QComboBox索引更改的通知?
- SegFault deleting QTreeWidgetItem
- QTreeWidgetItem 突出显示文本问题
- QTreeWidgetItem 析构函数和 QTreeWidgetItemIterator 有效性
- QTreeWidget 可以跳转到特定行(由 QTreeWidgetItem 或列指定)吗?
- 将 QTreeWidgetItem 的项放入变量中
- QTreeWidgetItem 通过文本查找子项
- Qt - QTreeWidgetItem 未被编辑
- Selection of QTreeWidgetItem
- QTreeWidgetItem更改-检测输入/ESC
- 如何将itemExpanded与QTreeWidgetItem的子类一起使用
- QTreeWidgetItem使用键盘多选
- QTreeWidgetItem 可编辑仅允许输入数字
- 如何在输入新值后获取 qtreewidgetitem 的新值
- QTreeWidgetItem 没有 new 作为成员
- 再次从QTreeWidget获取QTreeWidgetItem列表
- 重新定义 QTreeWidgetItem::operator<
- 是否可以在切换QTreeWidgetItem复选框时创建一个信号