Форум сайта python.su
Вот код:
# -*- coding: utf-8 -*-
import wx
class MainFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "Простой пример wxRadioButton")
self.panel = wx.Panel(self)
self.SetSize((200,200))
self.Center()
self.radio0 = wx.RadioButton(self.panel, -1, "Значения 0", style=wx.RB_GROUP)
self.radio1 = wx.RadioButton(self.panel, -1, "Значения 1")
self.radio2 = wx.RadioButton(self.panel, -1, "Значения 2")
self.radio0.Bind(wx.EVT_RADIOBUTTON, self.Event0)
self.radio1.Bind(wx.EVT_RADIOBUTTON, self.Event0)
self.radio2.Bind(wx.EVT_RADIOBUTTON, self.Event0)
sizer0 = wx.BoxSizer(wx.VERTICAL)
sizer0.Add(self.radio0, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)
sizer0.Add(self.radio1, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)
sizer0.Add(self.radio2, 0, flag=wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, border=5)
self.SetSizer(sizer0)
def Event0(self, event):
value0 = self.radio0.GetValue()
value1 = self.radio1.GetValue()
value2 = self.radio2.GetValue()
if value0 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 0", ((50, 80)))
a = 1
elif value1 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 1", ((50, 80)))
a = 2
elif value2 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 2", ((50, 80)))
a = 3
class App(wx.App):
def OnInit(self):
frame = MainFrame(None)
frame.Show()
return True
def main():
application = App()
application.MainLoop()
if __name__ == '__main__':
main()
Офлайн
self.a? :)
Офлайн
def OnBegin(self, event):
self.button.Destroy()
self.button1.Destroy()
self.text = wx.StaticText(self.panel, -1, self.a, ((100, 120)))
def Event0(self, event):
value0 = self.radio0.GetValue()
value1 = self.radio1.GetValue()
value2 = self.radio2.GetValue()
if value0 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 0", ((50, 80)))
self.a = 1
elif value1 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 1", ((50, 80)))
self.a = 2
elif value2 == True:
self.text = wx.StaticText(self.panel, -1,"Выбрано значения 2", ((50, 80)))
self.a = 3
Отредактировано (Апрель 20, 2010 15:18:55)
Офлайн
Все разобрался…
Спс, нужно было просто в ковычки заключиить
self.a = “1”
(=
Офлайн
так он ещё может не работать и потому, что переменная экземпляра a появляется у него только после нажатия на одну из радио-кнопок… лучше всего в конструкторе присвоить ей какое-нибудь значение.
Отредактировано (Апрель 20, 2010 16:08:19)
Офлайн
Еще раз спасибо… Так и сделал, присвоил self.a = “0” в начале кода…
И все заработало как еть… получилось нечто значение по умолчанию., до этого как вы совершенно точно заметили нужно было нажать на одну из радио кнопок.
Еще раз спасибо за лояльность….
Офлайн