Instructions
78
Eine ähnliche Funktion,
LedAus(), schaltet die LED wieder aus. Diese beiden Funktionen werden später
über die beiden Buttons im Dialogfeld aufgerufen.
Bis hierhin war alles reines Python, jetzt geht es mit Tk und seinen Eigenheiten los.
root = Tk() Tkinter arbeitet mit sogenannten Widgets. Dabei handelt es sich um eigenständige Bildschirm-
elemente, in den meisten Fällen um Dialogfelder, die ihrerseits verschiedene Elemente enthalten. Jedes Pro-
gramm braucht ein
root-Widget, von dem aus alle weiteren Objekte aufgerufen werden. Dieses root-Widget
heißt immer
Tk(), generiert automatisch ein Fenster und initialisiert auch die Tkinter-Bibliothek.
root.title("LED") Objekte in Tkinter stellen verschiedene Methoden für unterschiedliche Zwecke zur Ver-
fügung. Die Methode
title() in einem Widget setzt den Fenstertitel, schreibt also in diesem Fall das Wort
LED in die Titelzeile des neuen Fensters.
Jedes Widget kann mehrere Objekte enthalten, die einzeln definiert werden. Tkinter kennt dazu verschiedene
Objekttypen, von denen jeder unterschiedliche Parameter ermöglicht, die die Eigenschaften des Objekts be-
schreiben. Die Parameter werden, durch Kommata getrennt, in einer Klammer hinter dem Objekttyp angege-
ben. Da diese Liste sehr lang werden kann, schreibt man üblicherweise jeden Parameter in eine eigene Zeile,
sodass alle Parameter untereinander ausgerichtet sind. Im Gegensatz zu den Einrückungen bei Schleifen und
Abfragen in Python sind diese Einrückungen der Tkinter-Objekte jedoch nicht obligatorisch.
Label(root, text="Bitte Button klicken, um die LED ein- und auszuschalten").pack()
Objekte vom Typ Label sind reine Texte in einem Widget. Diese können vom Programm verändert werden,
bieten aber keine Interaktion mit dem Benutzer. Der erste Parameter in jedem Tkinter-Objekt ist der Name
des übergeordneten Widgets, meistens des Fensters, in dem sich das jeweilige Objekt befindet. In unserem
Fall ist das das einzige Fenster im Programm, das
root-Widget.
Der Parameter
text enthält den Text, der auf dem Label angezeigt werden soll. Am Ende der Objektdefini-
tion wird der sogenannte Packer als Methode
pack() angehängt. Dieser Packer baut das Objekt in die Dia-
logbox ein und generiert die Geometrie des Widgets.
Button(root, text="Ein", command=LedEin).pack(side=LEFT)
Objekte vom Typ Button sind Schaltflächen, die der Benutzer anklickt, um eine bestimmte Aktion auszulö-
sen. Auch hier enthält der Parameter
text den Text, der auf dem Button angezeigt werden soll.
Der Parameter
command enthält eine Funktion, die der Button beim Anklicken aufruft. Dabei können keine
Parameter übergeben werden, und der Funktionsname muss ohne Klammern angegeben werden. Dieser
Button ruft die Funktion
LedEin() auf, die die LED einschaltet.