我正在读取一个csv文件,根据csv中的行数,我创建了那么多的复选框。屏幕上有一个“提交”按钮,单击后,我要检查所有复选框是否都已勾选,但现在正在检查复选框创建时是否勾选了该复选框。
我使用for循环创建了复选框,因此,我没有每个单独复选框的名称,因此,检查复选框是否被选中的唯一方法是运行.isChecked ()函数在for循环中。因此,它会在for循环运行时选中复选框。
打开CSV并计算出否。行数#### 将我们想要的行的值附加到列表“ a”中 with open("fike_path") as f:
reader = csv.reader(f, delimiter=",")
next(reader)
for i in reader:
a.append(i[4])
print(a)
j=0
根据创建的复选框到没有行数
for i in range(len(a)):
cb = QCheckBox(a[i], self)
cb.toggle()
cb.resize(200,28)
cb.setChecked(False)
cb.move(720,135+j)
j=j+15
if cb.isChecked() == False: ####checking if check box is ticked####
print (cb.text()+" is not selected")
else:
print("Is selected")
预期结果:已选中的复选框为print(“被选中”),未选中的复选框为print(“未选中”)。
实际结果:所有复选框都打印(“未选中”),因为它检查了运行for循环的时间,即创建时间,默认值为false。