[Python-de] Returnwert

Georg Mischler schorsch at schorsch.com
Mon Aug 13 15:27:18 EDT 2001


mike wrote:

> Hallo Liste,
>
> ist es bei dem anhängenden Beispielcode möglich, die Funktion
> callback mit einem Returnwert zu versehen, der global verwendet
> werden kann, also die durch die Maustaste ausgelösten
> x- und y-Werte ?
>
>
> from Tkinter import *
>
> root = Tk()
>
> def callback(event):
>      print "clicked at", event.x, event.y
>
> frame = Frame(root, width=100, height=100)
> frame.bind("<Button-1>", callback)
> frame.pack()
>
> root.mainloop()


Nachdem es sich um eine Funktion wie jede andere auch handelt,
kannst du natuerlich diese Werte in einer globalen variablen
(sprich: Modulattribut) hinterlegen. Meistens wirst du dafuer
eine Deklaration als "global meine_variable" innerhalb der
Funktion benoetigen.

Sehr haeufig wird aber als Callbackfunktion eine Methode
der Klasse verwendet, welche die Steuerung des betreffenden
Dialogs regelt, womit es sich dann anbietet, den Datenaustausch
ueber Instanzvariablen abzuwickeln.


Viel Spass!

-schorsch

-- 
Georg Mischler  --  simulations developer  --  schorsch at schorsch.com
+schorsch.com+  --  lighting design tools  --  http://www.schorsch.com/




More information about the Python-de mailing list