QTreeWidget实现复选框的全选/部分选择/半选择状态

本文展示了一个使用PyQt5创建的树形控件QTreeWidget的示例,其中包含了单击项目时触发的信号处理函数change_func。控件中包含可勾选的项目,当顶层项目被选中或取消选中时,其所有子项目的选中状态都会相应改变。同时,文章也演示了如何设置和更新子项目的检查状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 


import sys
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication, QWidget, QTreeWidget, QTreeWidgetItem, QLabel, QHBoxLayout


class Demo(QWidget):
     def __init__(self):
        super(Demo, self).__init__()
        self.resize(500, 300)
        self.label = QLabel('No Click')
        self.tree = QTreeWidget(self)  # 实例化树形控件
        self.tree.setColumnCount(1)  #将该树状控件的列数设为2(默认为1列)
        self.tree.setHeaderLabels(['树形控件', '列'])
        #设置每列的标题,如果只有一列的话,则应该通过setHeaderLabel(str)方法设置

        self.tree.itemClicked.connect(self.change_func)#单击控件时发出信号
        #这个信号会自动传递两个参数
        #参数1就是被单击的项目对象。<PyQt5.QtWidgets.QTreeWidgetItem object at 0x0000008269BE7EE8>
        #参数2就是单击的列序号

        self.preview = QTreeWidgetItem(self.tree)  # 实例化一个
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值