Hi!
Ich habe eine Funktion und möchte diese mit Knöpfen ansprechen. Da ich dies bei verschieden Mausklicks verschiedene Dinge tun möchte, benutze ich dazu die .bind Option. Allerdings kann ich keine Werte mit in die Funktion übernehmen, da dann auch immer ein Event mit übergeben wird und ich Fehlermeldungen bekomme, wenn ich versuche, auch noch andere Werte mit zu übergeben.
@EinSteini: Man sollte bei `Button` nicht `bind()` für Mausklicks verwenden, weil die Schaltfläche sich dann nicht mehr so verhält wie der Anwender das gewohnt ist. Normale Schaltflächen kann man beispielsweise auch wieder verlassen ohne das die Aktion ausgelöst wird, solange man den Mausknopf nicht los lässt.
Bei dem gezeigten Code vermute ich mal ganz stark, dass das Event gar keine Rolle spielt, weil man gar nicht so weit kommt, denn `btnclick()` wird ja nicht durch einen Mausklick aufgerufen, sondern schon von Dir *vor* dem Aufruf von `bind()` und `bind()` bekommt dann den Rückgabewert von `btnclick()` als zweites Argument. Was wahrscheinlich ein implizites `None` ist – womit der `bind()`-Aufruf letztlich nichts bewirkt.
Du musst da entweder eine Funktion zwischen setzen die das Ereignisargument erwartet aber ignoriert, oder in Deiner `btnclick()` halt das Ereignisargument auch erwarten. Im ersten Fall ist ein ``lambda``-Ausdruck hilfreich, im zweiten Fall solltest Du einen Blick auf `functools.partial()` werfen.
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman