2012-07-11 68 views
0

我正在使用python插件。我使用QTreeWidget列出項目。 [在qtreewidget中列出] [1]這個鏈接幫了我很多。QTreeWidget中的Python父項

我的代碼是:

valestimate=QTreeWidgetItem(str(parent_name)) 
for row in c.fetchall(): 
     strval=QTreeWidgetItem(unicode(row[0])) 
     valestimate.addChild(strval) 
     self.treeWidget.addTopLevelItem((valestimate)) 

PARENT_NAME是我在QTreeWidget父母的名字。 EX:'ACO_233' 但是輸出是:

[此處輸入圖像的描述] [2]

如果設置了列數爲一個以上的那麼它被示出爲:

! [3]

如何在Qtreewidget中列出完整的字符串作爲父項? 下面這個鏈接[qtreewidget中的單個字符] [4] ..inserttoplevelitem以列表作爲參數..但是,如果我想使任何項目作爲父項目,我們不能將列表添加到qtreewidget類型項目。我該怎麼做??

回答

1

檢查documentation

QTreeWidgetItem.__init__ (self, QStringList strings, int type = TreeWidgetItem.Type) 

構建指定類型的樹部件項目。該項目必須是 插入到樹部件中。給定的字符串列表將被設置爲 項目中每列的項目文本。

QTreeWidgetItem預計字符串列表填寫欄。當你做QTreeWidgetItem(str(parent_name))時,它將字符串parent_name解釋爲字符列表(這是一個字符串)並將每個字符放入列中。相反,你應該做的:

valestimate = QTreeWidgetItem([parent_name]) 

這會給你parent_name單列項目作爲該列中的值。

(順便說一句,str()unicode()不是周圍的事物轉變的好方法,你應該使用.encodeunicode轉換成str.decode用於反之亦然)。

0

我得到了答案。

 valestimate=QTreeWidgetItem() 
     valestimate.setText(0,str(parent_name)) 

不是直接將父名轉換爲qtreewidget類型,我們可以使用settext屬性。