Qt предоставляет класс QTreeWidgetItemIterator для итерации элементов дерева. Существует даже версия конструктора, которая вместо указателя принимает указатель на элемент. К сожалению, даже в этом случае итерация будет уменьшаться до самого последнего элемента. Часто это не ожидаемое поведение. Если я начну с предмета, я хочу повторить только его детей и внуков. Конечно, я мог бы получить еще один цикл вверх по дереву, чтобы проверить, не вышел ли я за пределы исходного элемента, но это уродливо. Есть ли способ сделать это красиво?Как итерации подэлементов QTreeWidgetItem в Qt
QTreeWidgetItemIterator it(treeWidget);
while (*it) {
if ((*it)->text(0) == itemText)
(*it)->setSelected(true);
++it;
}
не будет слишком медленным из-за пункта-> child (i) в качестве дополнительной петли O (n)? – def