Seite 1 von 1

list.bind() indirekt

Verfasst: Sonntag 15. Februar 2004, 21:14
von MacEvil
Hallo,

extrem komisch :

Code: Alles auswählen

def aa () :
	sys.exit()

list.bind('<Double-1>',aa)
geht nicht

Code: Alles auswählen

list.bind('<Double-1>',sys.exit)
geht

:?

Verfasst: Sonntag 15. Februar 2004, 21:37
von Milan
Hi. Funktionen, die mit bind zugewiesen wurden, wird immer ein Event übergeben. Deine Funktion will das aber gar nicht und da meckert Python :wink: . Versuchs mal mit

Code: Alles auswählen

def aa (event) : 
   sys.exit(event)
Das läuft auf genau dasselbe raus, wie dein unteres, weil sys.exit nämlich 1 Argument akzeptiert (aa vorher aber nicht) und da wird halt der event übergeben...

Und jetzt bitte auch nicht meckern das, dass dumm ist, weil du kannst mit dem event ziemlich viel anfangen, würdest du in der Funktion was anderes machen. Im Event werden alle Daten übergeben, die gerade in dem Moment aktuell waren, als '<Double-1>' ausgelöst wurde, also Position des Mauszeigers etc. Wenn man will, kann man das ziemlich professionell ausnutzen.

Milan

Verfasst: Sonntag 15. Februar 2004, 22:18
von MacEvil
Cool :)

Alles klar :wink: