Seite 1 von 1

events daten übergeben

Verfasst: Mittwoch 14. Dezember 2005, 13:22
von stephan_strecker
Hi,

Code: Alles auswählen

self.Bind(wx.EVT_MENU, self.OnDelete, 123)
wie kann ich der Funktion OnDelete noch Wert übergeben? kann diese Funktion auch in einer anderen Klasse stehen?

thx

Verfasst: Mittwoch 14. Dezember 2005, 13:28
von pr0stAta
Die Methode onDelete bekommt automatisch einen Event
Parameter mitgegeben. Falls du noch etwas anderes mitgeben
möchtest nimm Lambda
http://www.secnetix.de/~olli/Python/lam ... tions.hawk

Schau mal..

Verfasst: Mittwoch 14. Dezember 2005, 13:29
von tobias.vdk
Hallo!

Schau dir mal meinen Beitrag an:
http://www.python-forum.de/viewtopic.ph ... f896390e93
da wird soetwas ähnliches (Zugriff aus Klassen, etc.) beschrieben.
Was willst du denn der Funktion übergeben? Man kann doch innerhalb der Klasse auch auf Daten der Klasse zugreifen. Beispiel:

Code: Alles auswählen

class test:
    ...
    self.Zahl = 1
    ...
    self.Bind(wx.EVT_MENU, self.OnDelete, 123)

def OnDelete(self, event):
    self.Zahl = self..Zahl - 1
Tobias

Verfasst: Mittwoch 14. Dezember 2005, 13:43
von stephan_strecker
also etwas genauer :
ich hab eine canvas, auf der einzelne shapes liegen. so ähnlich wie das ogl exmaple bei den wx.beispielen. jeder shape verkörpert eine instanz einer klasse operation. wenn man nun auf eine shape klickt, öffnet sich ein contextmenue, in dem alle verbindungen zu diesem objekt dargestellt werden. diese verbindungen können während der laufzeit ja verändert werden. deshalb müssen die binds immer erneuert werden. wenn man dann so einen menüpunkt auswählt, soll eben eine remove funktion für diese verbindung gestartet werden. diese remove funktion benötigt noch die start und end operation der linie und diese sind nicht in der klasse operation gespeichert.

im prinzip müsste ich

Code: Alles auswählen

self.Bind(wx.EVT_MENU, self.OnDelete(WERT1,WERT2), 123)
aufrufen.

@pr0stAta hm....das mit dem lamba ist schön :-) aber wie bringt mich das weiter könntest du mir das etwas näher erkären?

Verfasst: Mittwoch 14. Dezember 2005, 15:35
von stephan_strecker
thx ich hab es jetzt mit dem lamba hinbekommen funktioniert super