可以使用QTreeWidgetItemIterator
类来遍历QTreeWidget
中的所有节点。QTreeWidgetItemIterator
提供了一种简便的方式来迭代QTreeWidget
的节点树。
以下是一个示例代码,演示如何遍历一个QTreeWidget
中的所有节点:
from PyQt5.QtWidgets import QApplication, QMainWindow, QTreeWidget, QTreeWidgetItem, QTreeWidgetItemIterator
app = QApplication([])
# 创建一个QTreeWidget并添加一些节点
tree_widget = QTreeWidget()
tree_widget.setColumnCount(1)
tree_widget.setHeaderLabels(['Items'])
root = QTreeWidgetItem(tree_widget, ['Root'])
child1 = QTreeWidgetItem(root, ['Child 1'])
child2 = QTreeWidgetItem(root, ['Child 2'])
subchild1 = QTreeWidgetItem(child1, ['Subchild 1'])
subchild2 = QTreeWidgetItem(child1, ['Subchild 2'])
subchild3 = QTreeWidgetItem(child2, ['Subchild 3'])
# 遍历所有节点
iterator = QTreeWidgetItemIterator(tree_widget)
while iterator.value():
item = iterator.value()
print(item.text(0)) # 打印节点的文本
iterator += 1
# 显示窗口
main_window = QMainWindow()
main_window.setCentralWidget(tree_widget)
main_window.show()
app.exec()
在上面的示例中,我们首先创建了一个QTreeWidget
并添加了一些节点。然后,我们使用QTreeWidgetItemIterator
来遍历所有的节点,并打印每个节点的文本。