继上文【如何确定CheckBox的勾选状态】后,补充【如何用代码设置CheckBox的勾选状态】

上文【如何确定CheckBox的勾选状态】【文章链接http://t.csdnimg.cn/MnPQW】提到了如何批量的生成CheckBox以及如何确定其勾选状态,今天,又遇到了新的问题。

我打算从一个文件中读取数据,数据为1、0,我想根据读取的数据来设置CheckBox的勾选状态,当读取的数据为1时,CheckBox为勾选状态,读取的数据为0时,CheckBox为未勾选状态,即我知道怎么检测CheckBox已有的状态,我又该怎样用代码去自由设置CheckBox的状态呢?

代码如下

import sys
from PyQt5.QtWidgets import QWidget, QCheckBox, QApplication, QTableWidget, QTableWidgetItem, QPushButton

app_1 = QApplication(sys.argv)

tw_1 = QTableWidget(10,2)                          # 设置10行2列的二维表格

list_Checkbox_1 = []
for i in range(10):
    checkbox_i = QCheckBox(f'Checkbox_{i}')        # 批量生成CheckBox
    tw_1.setCellWidget(i,1,checkbox_i)             # 将CheckBox添加到二维表格
    list_Checkbox_1.append(checkbox_i)             # 生成的CheckBox存到列表中。虽然上方有添加CheckBox到二维表格的操作,但此处仍然可以将上述CheckBox再添加到列表中。且感觉id一样。

# 将第1、3、5个CheckBox设置为已勾选
list_Checkbox_1[0].setChecked(True)
list_Checkbox_1[2].setChecked(True)
list_Checkbox_1[4].setChecked(True)

tw_1.resize(300,450)

tw_1.show()

sys.exit(app_1.exec_())

运行结果如下:

较有意思的是:你将生成的CheckBox添加到Tablewidget中后,还可以将其添加到列表中,就好像每一个CheckBox都在打两份工,一份是常驻Tablewidget,一份是常驻List。而且,你给列表中的CheckBox设置状态后,Tablewidget中的CheckBox也跟着变化。

换个比喻,每一个CheckBox都在Tablewidget中打工,租住在员工宿舍List,员工宿舍给每个人两套工作服,每天CheckBox穿了工作服去上班,但是穿哪一套没有强制规定。

呀,我真聪明。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值