PyQt5 技巧篇-复选框绑定行内容,全选、清空、展示选中的内容功能实现演示,设置复选框选中,检查复选框选中状态

2020-09-22 11:37:52 浏览数 (1)

先看效果图,选中了几行,然后将选中的内容展示出来。

我设置两个有序序列,分别存储对应的复选框和行内容。 我的行内容是用的label标签。

代码语言:javascript复制
	# 存储右边label组件的有序列表
	def get_L_btn(self):
        L_btn=[self.label,self.label_2,self.label_8,self.label_9,self.label_10,self.label_11,self.label_12,self.label_13,self.label_14,self.label_15]
        return L_btn
        
    # 存储左边复选框的有序列表
    def get_L_chk(self):
        L_chk=[self.checkBox,self.checkBox_2,self.checkBox_8,self.checkBox_9,self.checkBox_10,self.checkBox_11,self.checkBox_12,self.checkBox_13,self.checkBox_14,self.checkBox_15]
        return L_chk

因为他们的位置都是一一对应的,所以当我这个位置的复选框是选中状态的话,这时显示对应位置的标签内容就好了。

isCheckec()用来判断复选框是否是选中状态。 text()用来显示label标签的内容。

代码语言:javascript复制
	# 展示被选中的行内容
	def get_checkBox(self):
        k=0
        L_chk=self.get_L_chk()
        L_btn=self.get_L_btn()
        for i in L_chk:
            if(i.isChecked()): # isChecked()判断复选框是否被选中
                print(L_btn[k].text())
            k=k 1

全选或不全选的实现是遍历一遍所有复选框,设置选中或不选中

setChecked(False)设置复选框不选中 setChecked(True)设置复选框选中

代码语言:javascript复制
    # 清空复选框
    def clear_checkBox(self):
        L_chk=self.get_L_chk()
        for i in L_chk:
            i.setChecked(False)

    # 全选复选框
    def all_checkBox(self):
        L_chk=self.get_L_chk()
        for i in L_chk:
            i.setChecked(True)

0 人点赞