我正在使用python插件。我使用QTreeWidget列出项目。 [在qtreewidget中列出] [1]这个链接给了我很多帮助。
我的代码是:
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]
如果我将columncount设置为多于1,则显示为:
![在此输入图片说明] [3]
如何在Qtreewidget中将完整字符串列为父级? 跟随此链接[qtreewidget中的单个字符] [4] ..inserttoplevelitem将列表作为参数。但是如果我想将任何项目作为父项,我们不能将列表添加到qtreewidget类型项目。我该怎么办?
答案 0 :(得分:1)
QTreeWidgetItem.__init__ (self, QStringList strings, int type = TreeWidgetItem.Type)
构造指定类型的树窗口小部件项。该项目必须是 插入树小部件。给定的字符串列表将设置为 项目中每列的项目文本。
QTreeWidgetItem
期望字符串的列表填充列。当你执行QTreeWidgetItem(str(parent_name))
时,它将字符串parent_name
解释为字符列表(字符串是什么),并将每个字符放在一列中。相反,你应该这样做:
valestimate = QTreeWidgetItem([parent_name])
这将为您提供一个列parent_name
作为该列中的值的列项。
(顺便说一下,str()
或unicode()
不是转换内容的好方法。您应该使用.encode
将unicode
转换为str
或.decode
反之亦然。)
答案 1 :(得分:0)
我得到了答案。
valestimate=QTreeWidgetItem()
valestimate.setText(0,str(parent_name))
我们可以使用settext属性而不是直接将父名转换为qtreewidget类型。