Radio buttons using wxpython
我正在使用wxpython构建一个GUI。我有按钮和收音机按钮,我想
要根据GUI中小部件的当前值执行这些任务。插入物
按钮具有多个if语句其中一个if语句用于检查
已选择RadioButton。我不想将事件绑定到单选按钮,所以
在"插入"按钮中使用
这是定义的Radion按钮
1 2 3 | self.rb1 = wx.RadioButton(self.panel, -1, 'Is this a required pre_action to the next step?', (5, 220)) |
这是检查条件
1 2 3 | if self.rb1.GetValue(): # do something here |
还有:
1 2 3 | if self.rb1.GetValue() == 'True': # do some tasks |
在这两种情况下(已经是一样的),当我选择收音机时,什么都不会发生
按钮RB1!那么这有什么问题呢?
我不知道那对你不起作用。对我来说很好。请参见下面的示例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | import wx class MyForm(wx.Frame): #---------------------------------------------------------------------- def __init__(self): wx.Frame.__init__(self, None, wx.ID_ANY,"Tutorial") panel = wx.Panel(self, wx.ID_ANY) self.radio = wx.RadioButton(panel, label="Test", style = wx.RB_GROUP) self.radio2 = wx.RadioButton(panel, label="Test2") btn = wx.Button(panel, label="Check Radio") btn.Bind(wx.EVT_BUTTON, self.onBtn) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.radio, 0, wx.ALL, 5) sizer.Add(self.radio2, 0, wx.ALL, 5) sizer.Add(btn, 0, wx.ALL, 5) panel.SetSizer(sizer) #---------------------------------------------------------------------- def onBtn(self, event): """""" print"First radioBtn =", self.radio.GetValue() print"Second radioBtn =", self.radio2.GetValue() # Run the program if __name__ =="__main__": app = wx.PySimpleApp() frame = MyForm().Show() app.MainLoop() |