PyQt6 QTreeWidget树控件

锋哥原创的PyQt6视频教程:

2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计46条视频,包括:2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~、第2讲 PyQt6库和工具库QTDesigner安装与配置、第3讲 PyQt6第一个程序HelloWorld实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV11C4y1P7fj/

QTreeWidget树控件,它提供了一个使用预定义树模型的树视图,它的每一个树节点都是一个QTreeWidgetItem。

由于QTreeWidget类继承自QTreeView,因此,它具有QTreeView的所有公共方法,另外,它还提供了一些自身特有的方法。

QTreeWidget类的常用方法:

方法说明
addTopLevelltem()添加顶级节点
insertTopLevelltems()在树的顶层索引中插入节点
invisibleRootItem()获取树控件中不可见的根选项
setColumnCount()设置要显示的列数
setColumnWidth()设置列的宽度
selectedItems()获取选中的树节点

QTreeWidgetItem类的常用方法:

方法说明
addChild()添加子节点
setText()设置节点的文本
setCheckState()设置指定节点的选中状态,取值如下。 Qt.Checked:节点选中; Qt.Unchecked:节点未选中
setIcon()为节点设置图标
text()获取节点的文本

UI生成代码参考:

from PyQt6 import QtCore, QtGui, QtWidgetsclass Ui_Form(object):def setupUi(self, Form):Form.setObjectName("Form")Form.resize(649, 550)self.treeWidget = QtWidgets.QTreeWidget(parent=Form)self.treeWidget.setGeometry(QtCore.QRect(140, 110, 381, 321))self.treeWidget.setColumnCount(0)self.treeWidget.setObjectName("treeWidget")self.retranslateUi(Form)QtCore.QMetaObject.connectSlotsByName(Form)def retranslateUi(self, Form):_translate = QtCore.QCoreApplication.translateForm.setWindowTitle(_translate("Form", "Form"))

Main测试代码:

"""python加载ui文件作者 : 小锋老师官网 : www.python222.com
"""
import sysfrom PyQt6.QtCore import Qt
from PyQt6.QtGui import QIcon
from PyQt6.QtWidgets import QApplication, QTreeWidget, QTreeWidgetItem
from PyQt6 import uicif __name__ == '__main__':app = QApplication(sys.argv)ui = uic.loadUi("./QTreeWidget树控件.ui")myTreeWidget: QTreeWidget = ui.treeWidgetmyTreeWidget.setHeaderLabels(['分类', '书名', '作者', '价格'])  # 设置列标题bookType1 = QTreeWidgetItem(myTreeWidget)  # 创建一级节点bookType1.setText(0, "Java类")bookType1.setIcon(0, QIcon('type.png'))  # 为节点设置icon图标bookType1Child1 = QTreeWidgetItem(bookType1)  # 创建二级节点bookType1Child1.setText(0, '')bookType1Child1.setText(1, 'Java编程思想')bookType1Child1.setText(2, '埃克尔')bookType1Child1.setText(3, '109')bookType1Child1.setCheckState(1, Qt.CheckState.Unchecked)  # 为节点设置复选框 默认不选中bookType1Child2 = QTreeWidgetItem(bookType1)  # 创建二级节点bookType1Child2.setText(0, '')bookType1Child2.setText(1, 'Java从入门到精通')bookType1Child2.setText(2, '码牛逼')bookType1Child2.setText(3, '111')bookType1Child2.setCheckState(1, Qt.CheckState.Unchecked)  # 为节点设置复选框 默认不选中bookType2 = QTreeWidgetItem(myTreeWidget)  # 创建一级节点bookType2.setText(0, "Python类")bookType2.setIcon(0, QIcon('type.png'))bookType2Child1 = QTreeWidgetItem(bookType2)  # 创建二级节点bookType2Child1.setText(0, '')bookType2Child1.setText(1, 'Python编程思想')bookType2Child1.setText(2, '王小')bookType2Child1.setText(3, '199')bookType2Child1.setCheckState(1, Qt.CheckState.Unchecked)  # 为节点设置复选框 默认不选中bookType2Child2 = QTreeWidgetItem(bookType2)  # 创建二级节点bookType2Child2.setText(0, '')bookType2Child2.setText(1, 'Python从入门到精通')bookType2Child2.setText(2, '码牛逼')bookType2Child2.setText(3, '101')bookType2Child2.setCheckState(1, Qt.CheckState.Unchecked)  # 为节点设置复选框 默认不选中bookType3 = QTreeWidgetItem(myTreeWidget)  # 创建一级节点bookType3.setText(0, "Go类")bookType3.setIcon(0, QIcon('type.png'))bookType3Child1 = QTreeWidgetItem(bookType3)  # 创建二级节点bookType3Child1.setText(0, '')bookType3Child1.setText(1, 'Go编程思想')bookType3Child1.setText(2, '王小')bookType3Child1.setText(3, '199')bookType3Child1.setCheckState(1, Qt.CheckState.Unchecked)  # 为节点设置复选框 默认不选中myTreeWidget.setAlternatingRowColors(True)  # 设置斑马线 交替隔行换色 灰白间隔myTreeWidget.expandAll()ui.show()sys.exit(app.exec())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/226355.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Easy Excel生成复杂下Excel模板(下拉框)给用户下载

引言 文件的下载是一个非常常见的功能,也有一些非常好的框架可以使用,这里我们就介绍一种比较常见的场景,下载Excel模版,导入功能通常会配有一个模版下载的功能,根据下载的模版,填充数据然后再上传。 需求…

TrustGeo代码理解(七)preprocess.py

代码链接:https://github.com/ICDM-UESTC/TrustGeo 一、导入各种模块和数据库 # Load data and IP clusteringimport math import random import pandas as pd import numpy as np import argparse from sklearn import preprocessing from lib.utils import MaxMinScaler …

设计模式——外观模式(结构型)

引言 外观模式是一种结构型设计模式, 能为程序库、 框架或其他复杂类提供一个简单的接口。 ​ 问题 假设你必须在代码中使用某个复杂的库或框架中的众多对象。 正常情况下, 你需要负责所有对象的初始化工作、 管理其依赖关系并按正确的顺序执行方法等。…

C#动态生成带参数的小程序二维码

应用场景 在微信小程序管理后台,我们可以生成下载标准的小程序二维码,提供主程序入口功能。在实际应用开发中,小程序二维码是可以携带参数的,可以动态进行生成,如如下场景: 1、不同参数决定的显示界面不同…

MQTT中的保留消息(Retained Message)

一条保留消息是MQTT中保留标志设置为true的一条普通消息。代理(broker)为对应的主题保留最后的保留消息及对应的QoS。每一个订阅了该主题的客户端在订阅之后会马上收到这个保留消息。代理(broker)为每个主题只存储一条保留消息。本…

Docker本地镜像发布到阿里云或私有库

本地镜像发布到阿里云流程 : 1.自己生成个要传的镜像 2.将本地镜像推送到阿里云: 阿里云开发者平台:开放云原生应用-云原生(Cloud Native)-云原生介绍 - 阿里云 2.1.创建仓库镜像: 2.1.1 选择控制台,进入容器镜像服…

MQTT的奇妙之旅:探索RabbitMQ Web MQTT插件的威力【RabbitMQ 十一】

欢迎来到我的博客,代码的世界里,每一行都是一个故事 MQTT的奇妙之旅:探索RabbitMQ Web MQTT插件的威力 前言第一:揭秘RabbitMQ Web MQTT插件背景和目的:MQTT 协议简介:WebSockets 和 MQTT 的融合&#xff1…

谣言检测常用数据集汇总

Pheme-R 获取地址:https://figshare.com/articles/dataset/PHEME_rumour_scheme_dataset_journalism_use_case/2068650 PHEME社交媒体谣言数据集:这些谣言与9条不同的突发新闻有关。它是为分析社交媒体谣言而创建的,并包含由谣言推文发起的推特对话;这些…

竞赛保研 python区块链实现 - proof of work工作量证明共识算法

文章目录 0 前言1 区块链基础1.1 比特币内部结构1.2 实现的区块链数据结构1.3 注意点1.4 区块链的核心-工作量证明算法1.4.1 拜占庭将军问题1.4.2 解决办法1.4.3 代码实现 2 快速实现一个区块链2.1 什么是区块链2.2 一个完整的快包含什么2.3 什么是挖矿2.4 工作量证明算法&…

flink安装

什么是flink flink是一个分布式,高性能,随时可用的以及准确的流处理计算框架, flink可以对无界数据(流处理)和有界数据(批处理)进行有状态计算(flink天生支持状态计算)…

开源 CAD 计算机辅助设计软件,基于 Node.js 开发,使用浏览器进行访问-供大家学习研究参考

下载:开源CAD计算机辅助设计软件,基于Node.js开发,使用浏览器进行访问-供大家学习研究参考资源-CSDN文库 https://download.csdn.net/download/weixin_43097956/88623022

Web开发:ibatis的使用笔记

一、简介 ibatis是一个基于SQL映射支持Java和.NET的持久层框架&#xff1a; 1.如下所示id是对应程序的statement&#xff0c;resultClass需要填写SQL查询到的字段对应的类的命名空间类名&#xff08;DAO.QueryForList<实体类>&#xff09;&#xff0c;以此完成持久层和…

Redis新数据类型-Bitmaps

目录 Bitmaps 简介 命令 1. setbit (1) 格式 (2) 实例 2. getbit (1) 格式 (2) 实例 3. bitcount (1) 格式 (2) 实例 4. bitop (1) 格式 (2) 实例 我的其他博客 Bitmaps 简介 Bitmaps 是 Redis 的一种新数据类型&#xff0c;它是一种用于存储位信息的数据结构&…

【FPGA】Verilog:解码器 | 实现 2-4 解码器

实践内容&#xff1a;解释 2 至 4 解码器的结果和仿真过程 (包括真值表创建和 k 映射、AND 门&#xff09;。 0x00 解码器&#xff08;Decoder&#xff09; 解码器是一种根据输入信号从多个输出 bit 中只选择一个的设备。 例如&#xff0c;如果有一个解码器接收一个 2 位二进…

基于spacy的句法依存、实体识别、分析

文章目录 简介spaCy特性&#xff1a; 系统环境与版本安装应用示例参考文献 简介 spaCy spaCy 是一个 Python 和 CPython 的 NLP 自然语言文本处理库。因此它是一个非常快的库。它建立在最新的研究基础上&#xff0c;从设计的第一天起就被用于实际产品中。 spaCy 自带预训练的…

好用的硬盘分区工具,傲梅分区助手 V10.2

傲梅分区助手软件可以帮助用户在硬盘上创建、调整、合并、删除分区&#xff0c;以及管理磁盘空间等操作。它可以帮助你进行硬盘无损分区操作。 支持系统 目前这款软件支持 Windows 7、Windows 8、Windows 10、Windows 11 等个人系统&#xff0c;还支持 Windows 2012/2016/2019…

五金品牌网站建设的效果如何

五金产品多而广&#xff0c;无论零售还是批发&#xff0c;都有很高需求&#xff0c;市场中也林立着众多大小品牌&#xff0c;在实际经营中&#xff0c;五金也分为多个类目&#xff0c;同时高需求下相关企业也面临着一些痛点&#xff1a; 1、品牌传播难 对普通消费者来说&…

android下的app性能测试应主要针对那些方面,如何开展?

如何开展安卓手机下的App性能测试&#xff0c;对于优秀的测试人员而言&#xff0c;除了要懂得性能测试的步骤流程外&#xff0c;还应该懂的性能测试的一些其他知识&#xff0c;比如性能测试指标、各指标的意义&#xff0c;常用的性能测试工具、如何查看结果分析等等知识。所以本…

linux空洞文件以及多线程写入

介绍空洞文件 Linux空洞文件&#xff08;hole file&#xff09;是一种特殊类型的文件&#xff0c;其大小可能超过实际存储的数据量。在空洞文件中&#xff0c;文件系统会为文件分配磁盘空间&#xff0c;但实际上只在文件中存储了部分数据&#xff0c;其余部分被称为"空洞…

linux应用程序直接return与exit的区别

在Linux应用程序中&#xff0c;可以使用return语句直接从main函数返回。这将导致程序终止并返回给操作系统。然而&#xff0c;有时候使用exit函数比直接使用return语句更有优势&#xff0c;以下是一些原因&#xff1a; 清理资源&#xff1a;exit函数可以确保在程序终止之前执行…