我需要计算布局(称为"grid_checkbox"(中检查QCheckbox
的数量。我的代码有两个步骤。第一步包括添加QCheckbox
,第二步包括计算被检查的内容。
def add_checkbox(self):
for i in range(0, 5):
for j in range(1):
self.check_boxes = QtWidgets.QCheckBox("checkbox_%i" % i)
self.grid_checkbox.addWidget(self.check_boxes,i,j)
self.check_boxes.stateChanged.connect(self.count_checkbox)
def count_checkbox(self):
nb_ischecked = 0
for i in range(0, self.grid_checkbox.count()):
self.current_checkbox = getattr(self, "checkbox_%i" % i)
if self.current_checkbox.isChecked(): nb_ischecked = nb_ischecked + 1
print(nb_ischecked)
错误:
AttributeError: 'MyApp' object has no attribute 'checkbox_0'
您走在正确的轨道上,只是没有完全正确访问小部件。
尝试:
def count_checkbox(self):
nb_ischecked = 0
for x in range(self.grid_checkbox.count()):
if self.grid_checkbox.itemAt(x).widget().isChecked():
nb_ischecked += 1
print(nb_ischecked)