PyQt5 树视图控件(QTreeWidget)的使用


总体介绍

  1. QTreeWidget类提供了一个使用预定义树模型的树视图

  2. QTreeWidget类是一个十方方便使用的类,它提供了一个标准的Tree小部件,如下图所示的界面

    • 该类基于Qt的Model / View架构,并使用默认模型来保存项目,每一个都是一个 QTreeWidgetItem
    • 所以是需要和 QTreeWidgetItem 树节点控件 结合使用的
  3. 该树可以包含一个标题,其中包含控件中每个列的部分。通过使用 setHeaderLabels()提供字符串列表来设置每个部分的标签是最容易的

    • 但是可以使用QTreeWidgetItem构造自定义标头并使用 setHeaderItem() 函数将其插入树中
  4. 树中的项目可以根据预定义的排序顺序按列排序。如果启用排序,则用户可以通过单击列标题来排序项目

    • 可以通过调用 setSortingEnabled() 来启用或禁用排序
    • isSortingEnabled() 函数指示是否启用排序

  1. 小案例
from PyQt5.Qt import *

app = QApplication([])
window = QWidget()
window.resize(320, 450)
window.move(300, 300)

treewidget = QTreeWidget(window)
treewidget.resize(300, 400)
treewidget.move(10, 10)

treewidget.headerItem().setText(0, '列1')
treewidget.headerItem().setText(1, '列2')
treewidget.headerItem().setText(2, '列3')

root = QTreeWidgetItem(treewidget)
root.setText(0, "A测试")
root.setText(1, "B测试")
root.setText(2, 'C测试')

root1 = QTreeWidgetItem(root)
root1.setText(0, "A测试-1")
root1.setText(1, 'A测试-2')
root1.setText(2, 'A测试-3')

root2 = QTreeWidgetItem(root)
root2.setText(0, 'B测试-1')
root2.setText(1, "B测试-2")
root2.setText(2, "B测试-3")

root3 = QTreeWidgetItem(root)
root3.setText(0, 'C测试-1')
root3.setText(1, "C测试-2")
root3.setText(2, "C测试-3")

root.addChild(root1)
root.addChild(root2)
root.addChild(root3)

window.show()
app.exec_()


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM