To disable checkboxes by default in Qt Designer, set the enabled property accordingly (it's at the top of the QWidget section).
For managing the state of the checkboxes, I would suggest adding each set of checkboxes to a QButtonGroup (this would probably be done in the __init__
for your main-window class):
self.group1 = QtGui.QButtonGroup(self)
self.group1.setExclusive(False)
self.group1.addButton(self.checkboxA)
self.group1.addButton(self.checkboxB)
self.group1.addButton(self.checkboxC)
self.group1.buttonClicked.connect(self.handleStepOneButtons)
# self.group2 = QtGui.QButtonGroup(self)
# ...
# self.group2.buttonClicked.connect(self.handleStepTwoButtons)
And then the handler for the Step 1 checkboxes can control the state of the Step 2 checkboxes like this:
def handleStepOneButtons(self, button):
checked = (self.group1.checkedButton() is not None)
for checkbox in self.group2.buttons():
checkbox.setEnabled(checked)