Event in einer Klasse -> Zugriff auf Obj. in anderer Klas
Verfasst: Freitag 21. September 2007, 12:55
Hallo
ich hab gerade ein kleines Problem. Ich arbeite mit einem SplitterWindow, das zwei Panel anzeigt. Da beide recht lang sind, sind die in eigenen Klassen definiert, PanelTop und PanelBottom.
In PanelTop ist ein Label label, das ich bei einem Klick auf einen Button button in PanelBottom verändern will.
Ich habs mal stark vereinfacht, lauffähig:
ich hab gerade ein kleines Problem. Ich arbeite mit einem SplitterWindow, das zwei Panel anzeigt. Da beide recht lang sind, sind die in eigenen Klassen definiert, PanelTop und PanelBottom.
In PanelTop ist ein Label label, das ich bei einem Klick auf einen Button button in PanelBottom verändern will.
Ich habs mal stark vereinfacht, lauffähig:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-d
import wx
class PanelTop(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
label = wx.StaticText(self, -1, "Unchanged text")
class PanelBottom(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent)
button = wx.Button(self, label="Change the text label")
self.Bind(wx.EVT_BUTTON, self.OnButton, button)
def OnButton(self, event):
# do some magic to change the label in PanelTop to 'Changed text'
pass
class MyFrame(wx.Frame):
def __init__(self, parent=None, title="SplittedApp", size=(100, 50)):
wx.Frame.__init__(self, parent, -1, title)
hsplitter = wx.SplitterWindow(self)
panel_top = PanelTop(hsplitter)
panel_bottom = PanelBottom(hsplitter)
hsplitter.SplitHorizontally(panel_top, panel_bottom)
class MyApp(wx.App):
def OnInit(self):
frame = MyFrame()
frame.Show(True)
return True
if __name__ == '__main__':
app = MyApp()
app.MainLoop()