在使用pyqt5编写UI时,QTreeWidget对象可以提供预定义模型的树形视图显示。QT文档对QTreeWidget定义如下:
The QTreeWidget class is a convenience class that provides a standard tree widget with a classic item-based interface similar to that used by the QListView class in Qt 3. This class is based on Qt's Model/View architecture and uses a default model to hold items, each of which is a QTreeWidgetItem.
Developers who do not need the flexibility of the Model/View framework can use this class to create simple hierarchical lists very easily. A more flexible approach involves combining a QTreeView with a standard item model. This allows the storage of data to be separated from its representation.
1.QTreeWidget的实例化
treeWidget = QtWidgets.QTreeWidget(parent)
如在MainWindow下添加QTreeWidget:
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 600)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.treeWidget = QtWidgets.QTreeWidget(self.centralwidget)
self.treeWidget.setObjectName("treeWidget")
2.QTreeWidget的header
header通过self.treeWidget.headerItem()返回,是QTreeWidgetItem类型的对象
self.treeWidget.headerItem().setText(0,"key")可以设置header显示名称
3.QTreeWidget创建子树与子节点
root1=QtWidgets.QTreeWidgetItem(self.treeWidget) #QTreeWidgetItem object: root
root1.setText(0,root_name) #set text of root1
para_list=["alpha","beta","gama"]
for i in range(len(para_list)):
child=QtWidgets.QTr