Seite 1 von 1

PyGTK und lambda Frage

Verfasst: Dienstag 31. Juli 2007, 12:36
von CrackPod
Hallo,

ich arbeite mich gerade in PyGTK ein und bin auf folgende 3 Zeilen gestoßen (hier geschrieben):

Code: Alles auswählen

   43           # It's a good idea to do this for all windows.
   44           self.window.connect("destroy", lambda wid : gtk.main_quit())
   45           self.window.connect("delete_event", lambda a1, a2 : gtk.main_quit())
Nun Frage ich mich, für was sie genau gut sind. Den lambda Operator habe ich schon in Manual nachgeschlagen und ich denke einigermaßen verstanden, aber wieso werden bei beiden verschiedene Variablen mitgegeben.
Soweit ich den lambda Operator verstanden hab, ist das doch überhaupt nicht notwendig? gtk.main_quit() braucht doch keine Variablen oder?

Wäre nett, wenn mir das jemand erläutern könnte.
LG

Verfasst: Dienstag 31. Juli 2007, 14:58
von BlackJack
`gtk.quit()` erwartet keine Argumente, und genau deswegen kann man es in beiden Fällen nicht direkt benutzen, denn wie man an dem ``lambda``-Funktionen sieht, werden diese Funktionen *mit* Argumenten aufgerufen.

Verfasst: Montag 6. August 2007, 13:04
von veers
BlackJack hat geschrieben:`gtk.quit()` erwartet keine Argumente, und genau deswegen kann man es in beiden Fällen nicht direkt benutzen, denn wie man an dem ``lambda``-Funktionen sieht, werden diese Funktionen *mit* Argumenten aufgerufen.
Stimmt nicht ganz,
self.connect("destroy", gtk.main_quit) funktioniert schon. Ob es klug ist weiss ich nicht ;)