【发布时间】:2013-02-13 22:19:26
【问题描述】:
wxPython 和(分组的)单选按钮问题:
我有三个单选按钮绑定在一个组中,我看到这让我可以选择单选按钮 A、B 或 C,其中一个总是被选中 - 我很欣赏这就是 wx.RB_GROUP 的本质风格;
是否可以仅通过单击单选按钮来取消选择 A=B=C=False 中的所有按钮?我已经简化了代码(如下),其中 Reset 按钮执行此功能,但理想情况下我只想在 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()
【问题讨论】:
标签: wxpython radio-button