Python PyQT QTreeWidget迭代

Python PyQT QTreeWidget迭代,python,pyqt,qtreewidget,Python,Pyqt,Qtreewidget,我在QTreeWidget中有两列,一列表示URL的列表,第二列表示结果。我已经在第一列中加载了URL列表,现在我想迭代这个列表,在迭代过程中,更改第二列中的文本。如何实现这一点?您可以调用以接收根项目,然后使用API迭代这些项目 例如: root = self.treeWidget.invisibleRootItem() child_count = root.childCount() for i in range(child_count): item = root.child(i)

我在QTreeWidget中有两列,一列表示URL的列表,第二列表示结果。我已经在第一列中加载了URL列表,现在我想迭代这个列表,在迭代过程中,更改第二列中的文本。如何实现这一点?

您可以调用以接收根项目,然后使用API迭代这些项目

例如:

root = self.treeWidget.invisibleRootItem()
child_count = root.childCount()
for i in range(child_count):
    item = root.child(i)
    url = item.text(0) # text at first (0) column
    item.setText(1, 'result from %s' % url) # update result column (1)
我假设
self.treeWidget
由以下内容填充:

self.treeWidget.setColumnCount(2) # two columns, url result
for i in range(10):
    self.treeWidget.insertTopLevelItem(i, QTreeWidgetItem(QStringList('url %s' % i)))

请给我们看一下代码好吗?如果您只有两列,
QTreeWidget
可以替换为
QTableWidget
。谢谢,这就是我想知道的:)仅仅通过阅读官方文档是不可能发现这一点的。迭代树项的传统方法是通过-遗憾的是,它没有提供只迭代顶级树项的方法,因此在这个常见用例中不适用。我们能否共同承认,qtapi不够模糊,在没有StackOverflow的情况下毫无用处?(是的,是的,我们可以。)