Crosslink von einer Class zur anderen
Verfasst: Montag 16. August 2010, 11:33
Ich versuche, aus einer "subclass" (NoteScans) eine Variable in einer anderen "subclass" (NoteFrames) zu setzen (ohne Verwendung von globalen Variablen): mein Code laesst sich reduzieren auf folgendes:
Leider bekomme ich folgende Fehlermeldung:
Kann mir jemand einen Tipp geben?
Herzlichen Dank im Voraus!
Frederik
Code: Alles auswählen
import wx
class NoteFrames(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.WANTS_CHARS)
self.number = 1
class NoteScans(wx.Panel):
def __init__(self, parent):
wx.Panel.__init__(self, parent, style=wx.WANTS_CHARS)
self.pp = parent.GetParent()
self.crosslink = self.pp.subclass_1
print self.crosslink.number # Soll die Variable setzen / lesen / was auch immer
class MainWindow(wx.Frame):
def __init__(self, parent, id, title):
wx.Frame.__init__(self, parent, id, title, size=(1000,700))
panel = wx.Panel(self, -1)
self.subclass_1 = NoteFrames(panel)
self.subclass_2 = NoteScans(panel)
self.Show(True)
app = wx.App(0)
MainWindow(None, -1, 'Name')
app.MainLoop()
Auf der website http://zetcode.com/wxpython/firststeps/ findet sich ein aehnliches Beispiel, das funktioniert, ich finde aber partout keinen Fehler im obigen Code... :KTraceback (most recent call last):
File "mdaProtest1.py", line 24, in <module>
MainWindow(None, -1, 'Name')
File "mdaProtest1.py", line 19, in __init__
self.subclass_1 = NoteScans(panel)
File "mdaProtest1.py", line 13, in __init__
self.crosslink = self.pp.subclass_2
AttributeError: 'MainWindow' object has no attribute 'subclass_2'
Kann mir jemand einen Tipp geben?

Herzlichen Dank im Voraus!
Frederik