Python PyQt5 QTreeWidget 子项

标签 python pyqt pyqt5 qtreewidget qtreewidgetitem

如何在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_()

最佳答案

使用{你的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_())

enter image description here

关于Python PyQt5 QTreeWidget 子项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41204234/

相关文章:

python - 相当于 MATLAB spy 的 scipy

python - 为什么 Sentry 推荐的 Django 日志记录配置会沉默来自 django.db.backends 的日志记录?

python - 如何在树形 View 中显示父目录?

python - 用 PyQt5 绘制轮廓非常慢

python - PyQt5-QThread : Destroyed while thread is still running

python - 如何向 Qcombobox 添加滚动条

python - 此 Python 斐波那契数函数对于任何输入都会生成 0.0。我究竟做错了什么?

Python 输出将非 ASCII 字符替换为 �

python - 使用父窗口的 closeevent 关闭 pyqt messageBox

python - 使用组合委托(delegate)对 QTableView 进行排序会删除除双击之外的委托(delegate)