境外网站搭建,安徽网站开发建设,河南省建设监理协会官网,食品公司锋哥原创的PyQt6视频教程#xff1a;
2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
QTreeView类#xff0c;它是树控件的基类#xff0c;使用时#xff0c;必须为其提供一个模型来与之配合。
QTreeView类的常用方法#xff1a;
方法…锋哥原创的PyQt6视频教程
2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
QTreeView类它是树控件的基类使用时必须为其提供一个模型来与之配合。
QTreeView类的常用方法
方法说明autoExpandDelay()获取自动展开节点所需的延时时间collapse()收缩指定级的节点collapseAll()收缩所有节点expand()展开指定级的节点expandAll()展开所有节点header()树的头信息常用的有一个setVisible(方法用来设置是否显示头isHeaderHidder()判断是否隐藏头部setAutoExpandDelay()设置自动展开的延时时间单位为毫秒如果值小于0表示禁用自动展开setAlternatingRowColors()设置每间隔一行颜色是否一样setExpanded()根据索引设置是否展开节点setHeaderHidden()设置是否隐藏头部setItemsExpandable()设置项是否展开setModel()设置要显示的数据模型setSortingEnabled()设置单击头部时是否可以排序setVerticalScrollBarPolicy()设置是否显示垂直滚动条setHorizontalScrollBarPolicy()设置是否显示水平滚动条setEditTriggers()设置默认的编辑触发器setExpandsOnDoubleClick()设置是否支持双击展开树节点setWordWrap()设置自动换行sclectionModel()获取选中的模型sortByColumn()根据列排序setSelectionMode()设置选中模式取值如下。 QAbstractItemView.NoSelection:不能选择; QAbstractItemView.SingleSelection:单选; QAbstractItemView.MultiSelection:多选; QAbstractItemView.ExtendedSelection:正常单选按Ctrl或者Shift键后可以多选; QAbstractItemView.ContiguousSelection:与 ExtendedSelection类似setSelectionBehavior()设置选中方式取值如下。 QAbstractItemView.SelectItems:选中当前项; QAbstractItemView.SelectRows:选中整行; QAbstractItemView.SelectColumns:选中整列
QTreeView 类属性 autoExpandDelay 拖放操作期间打开树中项目之前的延迟时间 indentation 树视图中项目的缩进 rootIsDecorated 是否显示用于展开和折叠顶级项目的控件 uniformRowHeights 所有项目是否具有相同的高度 itemsExpandable 项目是否可由用户展开 animated 是否启用动画 allColumnsShowFocus 项目是否应使用所有列显示键盘焦点 wordWrap 文本自动换行策略 headerHidden 标头是否显示 expandsOnDoubleClick 是否可以通过双击扩展项目
QTreeWidget 类属性 columnCount 显示的列数
Header 属性 headerVisible 是否显示标题 headerCascadingSectionResizes 标题列宽联动调整大小 headerDefaultSectionSize 默认标题列宽大小 headerHighlightSections 所选项目的部分是否突出显示 headerMinimumSectionSize 标题可调节的最小尺寸 headerShowSortIndicator 标题显示排序指示器 headerStretchLastSection 是否可调节最后一列的宽度 PyQt6提供的内置模型:
模型说明QStringListModel存储简单的字符串列表QStandardItemModel可以用于树结构的存储提供了层次数据QFileSystemModel存储本地系统的文件和目录信息针对当前项目QSqlQueryModel存储SQL的查询结构集QSqlTableModel存储SQL中的表格数据QSqlRelationalTableModel存储有外键关系的SOL表格数据QSortFilterProxyModel对模型中的数据进行排序或者过滤 UI生成代码
from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName(Form)Form.resize(702, 716)self.treeView QtWidgets.QTreeView(parentForm)self.treeView.setGeometry(QtCore.QRect(80, 40, 256, 192))self.treeView.setObjectName(treeView)self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate QtCore.QCoreApplication.translateForm.setWindowTitle(_translate(Form, Form)) Main测试代码
python加载ui文件作者 : 小锋老师官网 : www.python222.comimport sysfrom PyQt6.QtGui import QStandardItemModel, QStandardItem
from PyQt6.QtWidgets import QApplication, QTreeView
from PyQt6 import uic, QtGuiif __name__ __main__:app QApplication(sys.argv)ui uic.loadUi(./QTreeView树视图.ui)myTreeView: QTreeView ui.treeViewmodel QStandardItemModel()model.setHorizontalHeaderLabels([分类, 书名, 作者, 价格])bookType1 QStandardItem(Java类)bookType1.appendRow([QStandardItem(), QStandardItem(Java编程思想), QStandardItem(埃克尔), QStandardItem(109)]) # 添加二级节点bookType1.appendRow([QStandardItem(), QStandardItem(Java从入门到精通), QStandardItem(码牛逼), QStandardItem(99)]) # 添加二级节点model.appendRow(bookType1) # 添加一级节点bookType2 QStandardItem(Python类)bookType2.appendRow([QStandardItem(), QStandardItem(Python编程思想), QStandardItem(老王), QStandardItem(10)]) # 添加二级节点bookType2.appendRow([QStandardItem(), QStandardItem(Python跟我学), QStandardItem(老六), QStandardItem(20)]) # 添加二级节点model.appendRow(bookType2) # 添加一级节点bookType3 QStandardItem(Go类)bookType3.appendRow([QStandardItem(), QStandardItem(Go编程思想), QStandardItem(老王), QStandardItem(10)]) # 添加二级节点model.appendRow(bookType3) # 添加一级节点myTreeView.setModel(model)myTreeView.expandAll()ui.show()sys.exit(app.exec())