5

我在QTreeWidget中有两列,一列代表url 列表,第二列代表结果。我已经在第一列中加载了 url 列表,现在我想迭代这个列表,并在迭代期间更改第二列中的文本。如何做到这一点?

4

1 回答 1

14

您可以调用QTreeWidget.invisibleRootItem()来接收根项目,然后使用QTreeWidgetItem 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)))
于 2012-01-22T14:35:37.377 回答