先看效果图,选中了几行,然后将选中的内容展示出来。
我设置两个有序序列,分别存储对应的复选框和行内容。 我的行内容是用的label标签。
# 存储右边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标签的内容。
# 展示被选中的行内容
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)
设置复选框选中
# 清空复选框
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)