Что-то не получается. (вернее, создать форму-то получилось, но не получается передать данные из файла с обработчиками в файл с описанием формы)
Если кому не лень, гляньте - чего не так?
И, вдобавок, какими неприятностями может грозить подобный способ? (Кроме тех, что я уже получил. :)) Но это я по незнанию)
Файл с обработчиками событий
# -*- coding: cp1251 -*-
import wx, mainform
a=b=10
c=0
# —-Блок обработчиков кнопок—-
def printing(evt): # сдаётся мне, что тут передаётся вовсе не evt, а self
print ‘Сработало!’
def sum_and_printing(evt):
global c
c=a+b
print c
def print_c(evt):
global c
print c
mainform.mainform.mypanel.mytect.SetText(str©)
# карул-строка! А покороче нельзя?
# ой-ё, а как передать-то? Всё равно, не пашет, ведь!
def c_plus_ten(evt):
global c
c=c+10
# ——————————–
if __name__==('__main__'):
myapp=wx.App()
mainwindow=mainform.mainform(None, ‘Агушки’, size=(500,500))
mainwindow.Show()
myapp.MainLoop()
Файл с описанием формы-фрейма
# -*- coding: cp1251 -*-
import wx, main
class mainform(wx.Frame):
def __init__(self, parent, title, size):
wx.Frame.__init__(self, parent, -1, title=title, size=size)
self.mypanel=wx.Panel(self, -1)
# —-Блок кнопок—-
button1=wx.Button(self.mypanel, -1, ‘Сработает?’, (10,10))
self.Bind(wx.EVT_BUTTON, main.printing, button1)
button2=wx.Button(self.mypanel, -1, ‘Суммируем а и b’, (10,50))
self.Bind(wx.EVT_BUTTON, main.sum_and_printing, button2)
button3=wx.Button(self.mypanel, -1, ‘(дублирует действие второй кнопки)’, (10,100))
self.Bind(wx.EVT_BUTTON, main.sum_and_printing, button3)
button4=wx.Button(self.mypanel, -1, ‘Увеличить с на десятку’, (10,150))
self.Bind(wx.EVT_BUTTON, main.c_plus_ten, button4)
button5=wx.Button(self.mypanel, -1, ‘Вывести изменённую ’'с'' на экран', (10,200))
self.Bind(wx.EVT_BUTTON, main.print_c, button5)
# —-Блок текст-контролей—-
self.mytect=wx.TextCtrl(self.mypanel, -1, '', pos=(300,10), size=(100,20))
pass