2012-01-22 82 views
2

我有兩列在QTreeWidget,一個欄表示「的URL的列表」和第二表示「結果」。我已經在第一列中加載了URL列表,現在我想迭代這個列表並在迭代過程中更改第二列中的文本。如何實現這一目標?PyQt的QTreeWidget迭代

+0

,你能告訴我們的代碼嗎? – aayoubi

+1

如果你只有兩列,'QTreeWidget'可以替換爲'QTableWidget'。 – reclosedev

回答

6

您可以撥打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))) 
+0

謝謝,這就是我想知道的:) – Nuncjo