[python-de] Prob. mit TK

Thomas Reiss thomas at mypoint.franken.de
Sat Dec 12 10:45:34 EST 1998


Status: RO

Hallo Peter,

erstmal herzlichen Dank für die umfangreiche Antwort !

On Thu, 10 Dec 1998, Peter Funk wrote:

> Hallo Thomas!
> 
> Zu Deinem Beispiel-Skript habe ich folgende sechs Anmerkungen:  
> * Alle Tasten-Events gehen erstmal an das Widget 'master', solange
>   Du nicht irgendwie mit Focus herum hantierst.

Das war wohl mein Denkfehler.

> * Die bei 'bind' angegebenen Methoden müssen einen Parameter haben,
>   der beim Aufruf mit dem Event-Objekt belegt wird.  Sollen diesselben
>   Methoden wie in Deinem Beispiel außerdem als Button-Callbacks benutzt 
>   werden, bietet sich die Vorbelegung dieses Parameters mit 'None' an.
> * Der Suchpfad auf 'python' sollte nicht fest verdrahtet sein, da
>   der python-Interpreter nicht überall in /usr/local/bin steht.

Das ist ein interessanter Hinweis !

> * Die Schreibweise 'from PiPaPo import *' ist nicht empfehlenswert, da 
>   es die Lesbarkeit erschwert, sobald die Programme größer werden.  Man 
>   sollte Namen aus externen Moduln grundsätzlich qualifiziert benutzen.
> * In Deinem Beispiel fehlten in der Funktion 'quit' hinter dem wohl
>   beabsichtigten Aufruf von 'frame.quit' die Klammern.  Das ist in
>   Python kein Fehler, da auch das Objekt selbst ein gültiges Statement
>   ist.  Aber dadurch wird das Objekt nicht aufgerufen, so daß nicht
>   das passiert, was Du beabsichtigt hattest.

Dann versteh ich aber nicht den "command=frame.quit" Parameter beim
Tk.Button Aufruf (s.u.).
 
> #!/usr/bin/env python
> 
> import Tkinter; Tk=Tkinter; del Tkinter

Kannst du mir evtl. mal kurz schildern warum du dieses Konstrukt
verwendest, bzw. was bewirkt das (speziell del Tkinter) ?
 
> master=Tk.Tk()
> 
> frame=Tk.Frame(master, bg="red")
> 
> button=Tk.Button(frame, text="ESC\nQuit", fg="red", command=frame.quit)
> button.pack(side=Tk.LEFT)

Warum ist hier frame.quit ohne Klammer korrekt ?
[weiteres gelöscht]

 
> Hoffentlich war das jetzt nicht zu "oberlehrerhaft"? ;-p

nein, sehr lehrreich !

PS: Nachricht habe ich auch nochmal per E-Mail verschickt (Ich weiß,
ich werd´s auch in Zukunft abstellen)

Nochmals vielen Dank !

Thomas




__________________________________________________
Python-de Liste  -  python-de at starship.skyport.net
http://starship.skyport.net/mailman/listinfo/python-de




More information about the Python-de mailing list