pyqt 在QTreeView里使用复选框checkbox

21 篇文章 0 订阅

这里以pyqt自带demo中的simpletreemode.pyw文件为例,简单介绍在pyqt的TreeView里使用checkbox。所有的工作实际上都是在TreeModel类中完成的。

首先,在TreeModel类的__init__函数中加入self.checkLisk = []这句话,定义一个list用来保存被选中的checkbox信息。

第二步,修改flag函数

主要就是为第一例的显示方式增加了一个ItemIsUserCheckable

 

然后,再在data函数中,进行如下修改

 

最后,增加setData函数,这个函数在simpletreemodel.pyw中,并不存在,它是QAbstractItemModel中定义的函数,当TreeModel中的项发生变化是,会调用这个函数,并且需要这个函数发出一个dataChanged信号。在这个函数中,需要判断改动的项目是否是checkbox,并且根据改动情况对checkList进行修改。然后发送dataChanged信号。虽然我不知道dataChange的槽函数都进行了那些工作,但它肯定调用了相应的data函数,然后,会将刚才点击复选框的内容进行重设

 

代码在http://download.csdn.net/source/3019094

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值