Qt提供QTreeWidgetItemIterator类来迭代树形视图的项目。甚至有一个构造函数版本,它会接受项目指针而不是视图。不幸的是,即使在这种情况下,迭代也将一直进行到最后一个项目,通常这不是期望的行为。如果我从项目开始,我只想迭代它的子代和孙代。当然,我可以再循环一次来检查是否超出了起始项目,但那很丑陋。有没有更好的方法?
QTreeWidgetItemIterator it(treeWidget);
while (*it) {
if ((*it)->text(0) == itemText)
(*it)->setSelected(true);
++it;
}