Найти - Пользователи
Полная версия: Идеология Python. Классы
Начало » GUI » Идеология Python. Классы
1
jsnjack
Здравствуйте. Я пишу программу на wxPython. Структура такова, что для главного окна программы я создал свой класс.
class MyFrame(wx.Frame):
...
Когда мне понадобилось вызвать еще одно окно в программе, я добавил еще один класс (в том же файле).
class AddImageDialog(wx.Dialog):
def __init__(self, parent, title):
super(AddImageDialog, self).__init__(parent, -1, title)
...
Вопрос состоит в том, как мне данные, например, из текстового поля второго окна скопировать в первое? Как осуществлять обмен данных между классами?
Enchantner
Если речь идет об обмене данными между инстансами - тогда ничего сложного нет. Если же необходимо конструировать второе окно, опираясь на данные из первого - нужно либо вызывать конструктор второго класса в методе первого, либо сначала брать из инстанса первого класса название, а затем передавать его в конструктор второго. Обычные ООП-вещи, даже без привязки к wxWidgets.
Griffon
В любом случае между окнами есть какое-то отношение. Либо первое открывается из второго, либо второе из первого, либо оба открываются из третьего. В любом случае банальная колбэк функция заданная при создании окна (либо просто вызов гарантированно имеющейся функции родительского окна) решает все вопросы.
jsnjack
Griffon, Enchantner
спасибо, разобрался
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