0

我有一个QWidget包含 a ,QGroupBox其中包含QComboBox和。QLineEditQCheckBox

我需要绕过所有控件,如果控件是 a QCheckBox,请询问它是否被选中。我需要知道如何QCheckBox检查所有这些 - 这个想法可能是这样的:

count = 0
for control in groupbox.controls():
    if control is type of QtGui.QCheckBox:
        if control.isChecked:
            count = count + 1
        else:
            print('no checked')
    else:
        print('no QtGui.QCheckBox')
print ('there are '+ str(count)+ 'checked')
4

1 回答 1

1

如果复选框都是 groupbox 的子项,那么您可以尝试以下操作:

count = 0
for checkbox in groupbox.findChildren(QtGui.QCheckBox):
    if checkbox.isChecked():
        count += 1
print('there are %s checked' % count)

如果它们是这样创建的,复选框将是 groupbox 的子项:

checkbox = QtGui.QCheckBox('Title', groupbox)
于 2015-04-08T17:37:41.487 回答