我在 QTreeWidget 中有两列,一列代表网址列表,第二列代表结果。我已在第一列中加载了URL列表,现在我想迭代此列表,并在迭代期间更改第二列中的文本。怎么做到这一点?
答案 0 :(得分:8)
您可以致电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)))