[EMAIL PROTECTED] wrote:
> Zdravím všechny, chtěl bych Vás požádat o pomoc se zřejmě začátečnickým
> problémem, taky jsem začátečník :-)
> Situace(zjednodušeno): po spuštění programu se vytvoří frame1(wx.Frame) a
> načte data ze souboru. Po stisku tlačítka se otevře nový frame2(wx.Frame) ve
> kterém potřebuji tato data používat a modifikovat a po uzavření frame2 opět
> již modifikovaná data používat ve frame1. Mohli byste mi prosím poradit, jak
> si data mezi framy předávat? Napadá mě ve framu2 modifikovaná data uložit do
> souboru a po jeho uzavření je ve framu1 opět načíst ze souboru, ale to se mi
> jednak moc nelíbí a jednak stejně nevím, jak framu1 říct, aby po uzavření
> frame2 načetl soubor. Používám Python 2.5, wxPython 2.7 na WinXP. Za pomoc
> předem moc děkuju. Petr
>
>
Ahoj,
nejprve bych chtel podotknout, ze wxPython-2.7 je development branch,
takze doporucuji pouzivat verzi 2.6.
K tvemu problemu. Myslim si, ze je spousty zpusobu, jak toto provest a
zalezi take trosku na tom, jak vse resis. Pravdepodobne mas ve fci
obsluhujici udalost EVT_BUTTON vytvoreni frame2 a jeho zobrazeni. Pak
pred tim, nez zavolas frame2.ShowModal() nebo jen frame2.Show() vytvor
novou promennou ve frame2, ktera bude obsahovat data z frame1. Cele by
to mohlo vypadat asi takhle:
def OnButtonClick(self, evt):
frame2 = Frame2(None, -1)
frame2.data = self.data # self je v tomto pripade instance
of tridy Frame1 a data jsou data, ktere frame1 nacetl
frame2.ShowModal()
Mozna jeste snazsi zpusob je ten, ze definujes frame1 jako parent pro
frame2. Nasledne pak budes mit instanci tridy Frame1 v konstruktoru
Frame2. V kodu pak asi takhle:
def OnButtonClick(self, evt):
frame2 = Frame2(self, -1)
frame2.ShowModal()
class Frame2(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, id = -1, parent = parent)
self.data = parent.data # nebo take self.parent = parent,
pak jsou data v self.parent.data
Doufam, ze jsem trosku pomohl.
Leo
--
----
Leos Pol
SW Engineer
Radiante Corp.
If it can be imagined,
we can implement it
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python