I have two columns in a QTreeWidget, one column represents a list of urls and the second represents results. I have loaded the list of urls in first column and now I want to iterate this list and during the iteration, change the text in the second column. How to achieve this?
reclosedev
You can call QTreeWidget.invisibleRootItem() to receive the root item, and then use the QTreeWidgetItem API to iterate through the items.
Example:
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)
I am assuming self.treeWidget
is populated by:
self.treeWidget.setColumnCount(2) # two columns, url result
for i in range(10):
self.treeWidget.insertTopLevelItem(i, QTreeWidgetItem(QStringList('url %s' % i)))
来源:https://stackoverflow.com/questions/8961449/pyqt-qtreewidget-iterating