



Next: 4. Das zweite Programm
Up: 3. »Hallo, Tkinter«: Das
Previous: 3.1 Starten des ersten
Contents
Index
- from Tkinter import *:
- Durch diese Anweisung wird das gesamte
Containermodul Tkinter in das main-Modul des Interpreters
ausgepackt. Es stehen dann alle darin enthaltenen Namen, die auf Klassen
und ihre Methoden und Attribute verweisen, zur Verfügung.
- root=Tk():
- Die Klasse mit dem Namen Tk ermöglicht die Generierung
von reinen Fenstern (windows) als Instanzen.
Durch Tk() wird der Konstruktor dieser Klasse aufgerufen und
generiert eine solche Instanz. Dieser wird der Name root zugewiesen.
- w=Label(root text='Hallo, Tkinter'):
- Ein Label
ist nun mehr als ein Fenster. Es ist ein widget,
was ein Kunstwort aus window und gadget bedeutet. Das
Wort gadget ist Ihnen vielleicht nicht geläufig.
Es bedeutet ein »Ding, das irgendwas machen kann.« Und hier liegt
genau der Unterschied zum reinen Fenster. Ein widget ist ein
Fenster mit einer ganz bestimmten Funktion, während ein window
nur den Container für mehrere Fenster darstellt3.1. Das Label hat nun die Funktion, einen Text darzustellen3.2. Label ist selbst der Name einer Klasse, dessen Konstruktor hier
aufgerufen wird, womit eine Instanz erzeugt wird, die den Namen w
erhält. Der erste Parameter des Label-Konstruktors wird mit dem Namen
desjenigen Fensters belegt, das das Label aufnehmen soll. Der zweite
Parameter versteht sich auf den ersten Blick von selbst, enthält er
doch die wesentliche Information. Technisch ist jedoch interessant,
dass der Name text schon vom Konstruktor defaultmässig einem
Objekt zugewiesen wurde3.3, das nun durch den String »'Hallo, Tkinter'« überschrieben wird.
Wir erinnern uns daran, dass solche bereits vorbelegten Parameter
nicht unbedingt angegeben werden müssen. In der Tat funktioniert das
Programm auch dann, wenn nur allein root als Name übergeben
wird und eine explizite Angabe des Parameters text fehlt. Probieren
Sie es aus. Das Programm läuft, aber es fehlt der Text. Label hat
natürlich noch etliche weitere Parameter, die aber bereits defaultmässig
vorbelegt sind.
- w.pack():
- Der Schreibweise können Sie sofort entnehmen, dass der
Packer pack eine Methode aller Instanzen der Klasse
Label sein muss. Wir werden diese Methode noch genauer untersuchen.
Zunächst nur soviel: der Packer gibt an, wie die Instanz in
dem Containerfenster erscheinen soll. Da keine Parameter angegeben
werden, ist die Erscheinung so wie standardmässig vorgegeben.
- root.mainloop():
- Die Methode mainloop() gehört allen Instanzen
vom Typ Tk an. Es handelt sich dabei um eine Event-Schleife,
die auf Mausklicks oder Tastendrücke reagiert. Ohne diese Schleife
lässt sich das Programm nicht steuern. Daher muss eine solche
Schleife immer vorhanden sein. Was sie genau macht, sehen wir ebenfalls
später. In diesem Fall wird das Programm beendet, wenn das Fenster
geschlossen wird.




Next: 4. Das zweite Programm
Up: 3. »Hallo, Tkinter«: Das
Previous: 3.1 Starten des ersten
Contents
Index
Heiko Schroeder
2003-03-23