treewidget 遍历子节点
时间: 2024-09-27 07:14:29 浏览: 31
vb treeview 父节点和子节点联动,父节点被选中子节点全部被选中,子节点全部被选中,则父节点被选中,取消选中子节点,父节点被取消选中
5星 · 资源好评率100%
`TreeWidget` 是 `Qt` 库中的一个用于构建树形视图控件的组件。如果你想遍历 `TreeWidget` 的所有子节点,你可以使用它的内置方法,如 `children()` 或者迭代器。以下是一个简单的示例,演示如何遍历每个子节点及其子节点:
```cpp
#include <QApplication>
#include <QTreeWidget>
#include <QTreeWidgetItem>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建 TreeWidget
QTreeWidget *treeWidget = new QTreeWidget;
treeWidget->setColumnCount(1);
treeWidget->setWindowTitle("My Tree");
// 添加根节点
QTreeWidgetItem *rootItem = new QTreeWidgetItem(treeWidget, {"Root"});
rootItem->addChild(new QTreeWidgetItem({"Child 1"}));
rootItem->addChild(new QTreeWidgetItem({"Child 2"}));
// 遍历所有子节点
for (int i = 0; i < treeWidget->topLevelItemCount(); ++i) {
QTreeWidgetItem *item = treeWidget->topLevelItem(i);
qDebug() << "Top Level Item: " << item->text(0); // 显示节点文本
foreach (QTreeWidgetItem *child, item->children()) { // 遍历子节点
qDebug() << "Child: " << child->text(0);
}
}
treeWidget->show();
return app.exec();
}
```
在这个例子中,我们首先创建了一个 `TreeWidget` 并添加了两个顶级子节点。然后,我们使用 `topLevelItemCount()` 获取顶级节点数量,再用 `topLevelItem(i)` 获取每个节点,接着调用 `children()` 方法获取子节点列表并进行遍历。
阅读全文