Einstieg in Tkinter

Grafische Oberflächen bestehen aus sogenannten Widgets, die meist mit der Maus bedient werden und damit eine Aktion auslösen. Widgets können sein: Buttons, ein- und mehrzeilige Eingabefelder, Labels, List- und Comboboxen … Das Programm läuft in einer „Endlosschleife“ und wartet auf Nutzereingaben mit Maus und Tastatur, mit den Aktionen ausgelöst werden, u.a. auch das Beenden des Programms.

Ein erstes Beispiel

# Tkinter wird importiert import tkinter # Funktion zum beenden des Programms. def ende(): main.destroy() # Das Hauptfenster wird erzeugt. main = tkinter.Tk() # Ein Button wird erzeugt. # Dem Button wird die Funktion ende() zugeordnet. b = tkinter.Button(main, text = "Beenden", command = ende) # Der Button wird zum Hauptfenster hinzugefügt. b.pack() # Die Hauptschleife wird gestartet. main.mainloop()

Mit import tkinter wird die Tkinter-Bibliothek importiert.

Die Funktion ende() beendet die Hauptschleife des Programms und zerstört das Tk-Objekt.

Mit main = tkinter.Tk() wird ein Objekt der Klasse Tk erzeugt. Es repräsentiert das Hauptfenster des Programms.

Mit b = tkinter.Button(main, text = "Beenden", command = ende) wird ein Objekt vom Typ Button (ein Widget) erzeugt. Das Elternobjekt ist main, also das Hauptfenster. Die Aufschrift des Buttons (Eigenschaft text) ist „Beenden“. Dem Button ist die Funktion ende() zugeordnet (command=ende), d.h. wenn der Button mit der Maus gedrückt wird (Hauptaktion des Buttons), wird die Funktion Ende aufegrufen und das Programm beendet.

Mit b.pack() wird der Button zum Hauptfenster hinzugefügt.

Mit main.mainloop() wird das Hauptfenster des Programms erzeugt und die Hauptschleife gestartet. Das Programm wartet jetzt auf Maus- und Tastaturaktionen, bis es beendet wird.

Das Programmfenster sieht eher unspektakulär aus:

Aufgabe 1

Teste das Programm! Verändere die Aufschrift des Buttons!

Weitere einfache Widgets