【问题标题】:Python parent in QTreeWidgetQTreeWidget 中的 Python 父级
【发布时间】:2012-09-04 15:12:10
【问题描述】:

我正在研究 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_nameQTreeWidget 中我父母的名字。 例如:'ACO_233' 但输出是:

![在此处输入图片描述][2]

如果我将 columncount 设置为大于 1,则显示为:

![在此处输入图片描述][3]

如何在 Qtreewidget 中将完整字符串列为父级? 按照此链接 [qtreewidget 中的单个字符][4] ..inserttoplevelitem 将列表作为参数..但是如果我想将任何项目作为父项,我们无法将列表添加到 qtreewidget 类型的项目。我该怎么做??

【问题讨论】:

    标签: python pyqt4 addchild qtreewidget


    【解决方案1】:

    查看documentation

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

    构造一个指定类型的树部件项。该项目必须是 插入到树小部件中。给定的字符串列表将设置为 项目中每一列的项目文本。

    QTreeWidgetItem 需要一个 list 字符串来填充列。当您执行QTreeWidgetItem(str(parent_name)) 时,它会将字符串parent_name 解释为字符列表(这就是字符串)并将每个字符放在一列中。相反,您应该这样做:

    valestimate = QTreeWidgetItem([parent_name])
    

    这将为您提供一个以parent_name 作为该列中的值的列项。

    (顺便说一句,str()unicode() 不是转换事物的好方法。您应该使用.encodeunicode 转换为str.decode,反之亦然。)

    【讨论】:

      【解决方案2】:

      我得到了答案。

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

      我们可以使用 settext 属性,而不是直接将父名称转换为 qtreewidget 类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-17
        • 1970-01-01
        • 1970-01-01
        • 2017-05-03
        • 2016-06-24
        • 1970-01-01
        • 2017-01-12
        相关资源
        最近更新 更多