Найти - Пользователи
Полная версия: Как обратится к функции.
Начало » GUI » Как обратится к функции.
1
farex
Вот код:
# -*- 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()
Как обратится к функции Event0 в дальнейшем
То есть что бы использвать переменную $a вне этой функции. допустим в функции Event1
Griffon
self.a? :)
farex
    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
Так не хочет работать…
Извините можно поподробнее.
farex
Все разобрался…
Спс, нужно было просто в ковычки заключиить
self.a = “1”
(=
Митрич
так он ещё может не работать и потому, что переменная экземпляра a появляется у него только после нажатия на одну из радио-кнопок… лучше всего в конструкторе присвоить ей какое-нибудь значение.
farex
Еще раз спасибо… Так и сделал, присвоил self.a = “0” в начале кода…
И все заработало как еть… получилось нечто значение по умолчанию., до этого как вы совершенно точно заметили нужно было нажать на одну из радио кнопок.
Еще раз спасибо за лояльность….
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB