[Python-de] allgemeines Verstaendniss-Problem + events in wxPython

Alexander 'boesi' Bösecke boesi.josi at gmx.net
Die Feb 10 19:28:53 CET 2004


moin

Erstmal das das allgemeine Problem:

EVT_BUTTON(self, ID_BUTTON+1, self.OnClick1)
def OnClick1(self, event):

so funktioniert der Code natuerlich.

Aber wieso beschwert sich Python, wenn ich self.OnClick1() angebe? 
>>> TypeError: OnClick1() takes exactly 2 arguments (1 given)
Wo hab ich da einen Parameter angegeben? Und wo sind die Parameter self
und event geblieben?
Und wenn ich self.OnClick1(self), kommt zwar keine Fehlermeldung, aber
die Methode wird direkt beim Start ausgefuehrt.

Und nun zu meinem eigentlichen Problem (das bezieht sich auf wxPython):

Ich hab eine Reihe von Buttons, die eigentlich alle an die selbe Methode
gebunden werden koennen, aber ich brauch in der Methode die Information
welcher Button gedrueckt wurde.
Ich seh da 2 einfache Moeglichkeiten:
Entweder ich uebergeb der Methode OnClick einen zusaetzlichen Parameter,
das scheitert aber an den oben aufgefuehrten Problemen.
Oder ich bekomme in der Methode die ID des events, welches zum Aufruf
der Methode fuehrte - tja nur wie bekomm ich die ID? event.GetID()
scheints nicht zu geben.
Muss ich dafuer schon einen eigenen Event-Handler programmieren? Das war
in meinem Lernprozess eigentlich erst spaeter dran.
Das Manual zu wxWindows hab ich schon durchsucht aber nix gefunden.


Vielen Dank fuer eure Hilfe
cu boesi
-- 
Ein Wunder muss heute schon ganz schoen              #1671 : icq-intern
wundervoll sein um ein Wunder zu sein,           #73628288 : icq-extern
sonst wuerde man sich ja gar nicht mehr wundern   boesi111 : aim
                 .-==Prof. Dr. Harald Lesch==-.       i171 : reallife