栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Qt designer+PyQt5创建具有复选框的树形列表,实现选中父节点自动选中子节点的功能

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Qt designer+PyQt5创建具有复选框的树形列表,实现选中父节点自动选中子节点的功能

1.首先使用qt designer工具,在画布中添加一个tree widget控件,并给控件添加相应的列和项目,保存该文件。

2.然后在pycharm中将该ui文件使用PyUIC扩展工具将其生成为py文件。

3.在生成的py文件中添加复选框相关代码。

self.treeWidget.topLevelItem(0).child(0).setText(0, _translate("temperatureConvert", "前端S偶1路"))
self.treeWidget.topLevelItem(0).child(0).setCheckState(0,0) #给child(0)的第0列添加一个复选框,默认状态是0(未选中)
self.treeWidget.topLevelItem(0).child(1).setText(0, _translate("temperatureConvert", "前端S偶2路"))
self.treeWidget.topLevelItem(0).child(1).setCheckState(1,0) #给child(1)的第1列添加一个复选框,默认状态是0(未选中)

4.实现父节点选中同时选中子节点功能。

在py文件中的setupUI初始函数中绑定一个槽函数

self.treeWidget.itemChanged.connect(temperatureConvert.checkboxStateChanged)
#其中treeWidget是树的名称,槽函数触发器选择的itemChanged,checkboxStateChanged是槽函数的名称

5.在主界面的py文件中,定义一个checkboxStateChanged函数,内容如下:

    def checkboxStateChanged(self,item,column):#选中树形列表中的父节点,子节点全部选中
        print(item.text(0))
        print(item)
        count = item.childCount()
        if item.checkState(column) == Qt.Checked:
            for f in range(count):
                item.child(f).setCheckState(0, Qt.Checked)
        if item.checkState(column) == Qt.Unchecked:
            for f in range(count):
                item.child(f).setCheckState(0, Qt.Unchecked)
        print(count)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/739725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号