如何遍历所有wx.CheckBox实例?

jai*_*iro 1 python wxwidgets wxpython

我有一个wx框架,我有很多复选框.用户经常在下拉菜单(wx.ComboBox)中更改设置时,我想清除所有复选框.目前,我已经实现了一个方法,当ComboBox发生更改时会调用它并手动清除每个复选框,即:

def ClearCheckBoxes(self):
    self.cb_EnableControl.SetValue(0)
    self.cb_EnableRun.SetValue(0)
    self.cb_EnablePower.SetValue(0)
    ...
    ...
Run Code Online (Sandbox Code Playgroud)

虽然我只有大约10个,但如果是这样的话,我的ClearCheckBoxes方法会更清晰:

def ClearCheckBoxes(self):
    for CheckBox in self.AllCheckBoxes:
        CheckBox.SetValue(0)
Run Code Online (Sandbox Code Playgroud)

另外,我想我可以创建一个列表(即AllCheckBoxes)和所有复选框添加到列表中,我创建它们,那就只能通过列表迭代的问题.但这里的重点是,我想知道是否有预定义的方法来做到这一点.

谢谢

Iac*_*cks 5

for control in self.GetChildren():
    if isinstance(control, wx.CheckBox):
        control.SetValue(False)
Run Code Online (Sandbox Code Playgroud)