wxPython 和(分组的)单选按钮问题:
我有三个单选按钮绑定在一个组中,我看到这让我可以选择单选按钮 A、B 或 C,其中一个总是被选中——我很欣赏这是 wx.RB_GROUP 风格的本质;
是否可以通过仅单击单选按钮来取消选择 A=B=C=False 中的所有按钮?我已经简化了重置按钮执行此功能的代码(如下),但理想情况下我只想在 GUI 中取消选择。
import wx
class MyForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, "Tutorial", size=(300,250))
panel = wx.Panel(self, wx.ID_ANY)
self.radio1 = wx.RadioButton(panel, label="A", pos=(20,40), style=wx.RB_GROUP)
self.radio2 = wx.RadioButton(panel, label="B", pos=(20,70))
self.radio3 = wx.RadioButton(panel, label="C", pos=(20,100))
btn = wx.Button(panel, label="Check", pos=(20,140))
rst = wx.Button(panel, label="Reset", pos=(20,170))
btn.Bind(wx.EVT_BUTTON, self.onBtn)
rst.Bind(wx.EVT_BUTTON, self.onRst)
def onBtn(self, event):
print "A = ", self.radio1.GetValue()
print "B = ", self.radio2.GetValue()
print "C = ", self.radio3.GetValue()
print "\n\n"
def onRst(self, event):
self.radio1.SetValue( 0 )
self.radio2.SetValue( 0 )
self.radio3.SetValue( 0 )
if __name__ == "__main__":
app = wx.PySimpleApp()
frame = MyForm().Show()
app.MainLoop()