Приветствия всем,Использовать переменную класса в другом классе
В настоящее время я работаю над приложением, использующим Python и wxPython. В нем у меня есть диалоговое окно, в котором заполнено несколько полей, чтобы вставить «документ» в базу данных. Схема этого диалога состоит в основном из wx.Notebook с несколькими вкладками, каждая из которых содержит какие-то поля.
# Dialog class
class NovoRegisto(wx.Dialog):
def __init__(self,parent):
wx.Dialog.__init__(self, parent, title='Registar Nova O.T.', size=(900,600))
painel = wx.ScrolledWindow(self, -1, style=wx.VSCROLL|wx.HSCROLL)
painel.SetScrollbars(0,30,0,500)
notebook = wx.Notebook(painel)
# create the page windows as children of the notebook
pag1 = InfoOT(notebook)
pag2 = Avaliacao(notebook)
pag3 = Componentes(notebook)
pag4 = Material(notebook)
pag5 = OTsRelacionadas(notebook)
<...>
# function to insert data in SQLite database
def OnRegister(self,event):
<...>
# first tab class
class InfoOT(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
<...>
Как вы можете видеть, у меня есть класс для самого диалога (с определением управляемого с помощью кнопки «Register»), а затем другого класса для каждого из «вкладок» ноутбука.
Теперь, чтобы отправить данные в базу данных, я должен иметь доступ к переменным «tabs» в определении «OnRegister» (которое принадлежит классу Dialog). Тем не менее, я до сих пор не нашел способ сделать это.
Может ли кто-нибудь мне помочь? Нужно ли мне менять структуру моей программы? Я сделал это так, потому что это был единственный способ, которым я сумел сделать работу ноутбука ...
Спасибо заранее
Где 'tabs'? – delnan
@ delnan, я думаю, что «вкладки» просто означает pag1, pag2 и т. Д. – jambox
@ jambox, да, вы правы –