【问题标题】:Python PyQt5 QTreeWidget sub itemPython PyQt5 QTreeWidget 子项
【发布时间】:2017-05-03 10:06:41
【问题描述】:

如何在 QTreeWidget 中创建子项?
我能够创建顶级项目(如下所列),但仍在寻找子项目。
PyQt->5.6
Python->3.5
Spyder->3.0.2

import sys
from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication, QWidget

if __name__ == '__main__':
    app = 0
    if QApplication.instance() != None:
        app = QApplication.instance()
    else:    
        app = QApplication(sys.argv)    

    l1 = QTreeWidgetItem([ "String A",  "String B",  "String C" ])
    l2 = QTreeWidgetItem([ "String AA", "String BB", "String CC" ])

    w = QWidget()
    w.resize(510,210)

    tw = QTreeWidget(w)
    tw.resize(500,200)
    tw.setColumnCount(3)
    tw.setHeaderLabels(["Column 1", "Column 2", "Column 3"])
    tw.addTopLevelItem(l1)
    tw.addTopLevelItem(l2)

    w.show()
    app.exec_()

【问题讨论】:

    标签: python pyqt pyqt5 qtreewidget qtreewidgetitem


    【解决方案1】:

    使用{your QTreeWidgetItem}.addChild(child QTreeWidgetItem)

    在我的例子中:

    import sys
    from PyQt5.QtWidgets import QTreeWidget, QTreeWidgetItem, QApplication, QWidget
    
    if __name__ == '__main__':
        app = 0
        if QApplication.instance():
            app = QApplication.instance()
        else:
            app = QApplication(sys.argv)
    
        l1 = QTreeWidgetItem(["String A", "String B", "String C"])
        l2 = QTreeWidgetItem(["String AA", "String BB", "String CC"])
    
        for i in range(3):
            l1_child = QTreeWidgetItem(["Child A" + str(i), "Child B" + str(i), "Child C" + str(i)])
            l1.addChild(l1_child)
    
        for j in range(2):
            l2_child = QTreeWidgetItem(["Child AA" + str(j), "Child BB" + str(j), "Child CC" + str(j)])
            l2.addChild(l2_child)
    
        w = QWidget()
        w.resize(510, 210)
    
        tw = QTreeWidget(w)
        tw.resize(500, 200)
        tw.setColumnCount(3)
        tw.setHeaderLabels(["Column 1", "Column 2", "Column 3"])
        tw.addTopLevelItem(l1)
        tw.addTopLevelItem(l2)
    
        w.show()
        sys.exit(app.exec_())
    

    【讨论】:

      猜你喜欢
      • 2019-03-21
      • 2016-05-17
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-31
      • 2018-10-07
      • 1970-01-01
      相关资源
      最近更新 更多