-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRadioButton.py
37 lines (32 loc) · 1.25 KB
/
RadioButton.py
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
33
34
35
36
37
#coding=utf-8
#!/usr/bin/python
import wx
class RadioButtonFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self,None,-1,'Radio Example',size=(200,200))
panel=wx.Panel(self,-1)
#创建单选按钮
radio1=wx.RadioButton(panel,-1,'one',pos=(20,50),style=wx.RB_GROUP)
radio2=wx.RadioButton(panel,-1,'two',pos=(20,80))
radio3=wx.RadioButton(panel,-1,'three',pos=(20,110))
#创建文本控件
text1=wx.TextCtrl(panel,-1,'',pos=(80,50))
text2=wx.TextCtrl(panel,-1,'',pos=(80,80))
text3=wx.TextCtrl(panel,-1,'',pos=(80,110))
self.texts={'one':text1,'two':text2,'three':text3}
for eachText in [text2,text3]:
eachText.Enable(False)
for eachRadio in [radio1,radio2,radio3]:
self.Bind(wx.EVT_RADIOBUTTON,self.OnRadio,eachRadio)
self.selectedText=text1
def OnRadio(self,event):
if self.selectedText:
self.selectedText.Enable(False)
radioSelected=event.GetEventObject()
text=self.texts[radioSelected.GetLabel()]
text.Enable(True)
self.selectedText=text
if __name__=='__main__':
app=wx.PySimpleApp()
RadioButtonFrame().Show()
app.MainLoop()