Da TkInter zur Standardbibliothek von Python gehört, ist keine separate Installation notwendig. Ein erstes Fenster („Hello World“) erstellen Sie mit folgendem Code:

from tkinter import *
# Ein Fenster erstellen
window = Tk()
# Den Fenstertitle erstellen
window.title("Hello World")
# Ereignisschleife auf Reaktion des Benutzers warten.
window.mainloop()

Wir importieren das Modul tkinter mit allen Funktionen und Methoden (from tkinter import *). Danach wird ein neues Fenster erstellt (window = Tk()), die Eigenschaft title erhält einen Wert und die Programmschleife wird gestartet (window.mainloop()). In dieser Programmschleife verweilt das Programm und wartet auf Reaktionen des Anwenders, ggf. auf ein Beenden, d.h. Schließen des Programmfensters. Speichern Sie den Quellcode als Datei, zum Beispiel unter dem Namen Hello.py ab und starten Sie das Python-Programm. Das können Sie direkt von der Kommandozeile aus machen (Hello.py) oder über die minimalistische integrierte Entwicklungsumgebung IDLE, welche mit der Installation von Python auf Ihren Rechner eingerichtet wurde (Datei öffnen und dann über RUN | RUN MODULE…). Nach dem Kompilieren und Interpretieren des Quellcodes startet das Programm In diesem Fall lediglich ein Fenster.

Abbildung 1: Ein erstes Fenster mit TkInter aus Python.

Das Programm arbeitet plattformneutral und kann auf allen gängigen Desktop-Betriebssystemen ausgeführt werden. Fügen wir als nächstes einen Button und ein Label hinzu. Zunächst sind diese zu definieren:

button=Button(window, text="OK")
label = Label(window, text="Eine Label")

In einem zweiten Schritt sind die Elemente dem Fenster (window) hinzuzufügen. Das geschieht über:

button.pack()
label.pack()

Diese Quellcodezeilen müssen vor dem Ende der GUI-Schleife (window.mainloop()) ergänzt werden. Starten Sie das Programm und das Fenster enthält nun erwartungsgemäß einen Button mit der Aufschrift „OK“ und das Label.
Angaben zum Layout haben wir noch nicht vorgenommen, daher werden beide Elemente zentriert und untereinander angeordnet. Das Layout wird über so genannte Geometrie-Manager konfiguriert.
Ein Button benötigt für gewöhnlich eine Bindung des Klick-Events. Das geschieht, in dem man die Eigenschaft command an eine Methode bindet. Diese Methode ist im Vorfeld zu definieren. Um den Gesamtüberblick zu behalten, folgen hier die wenigen Zeilen des Quellcodes nochmals komplett:

from tkinter import *
from tkinter import messagebox

def button_action():
    messagebox.showinfo(message="Eine Meldung", title = "Infos")
    

# Ein Fenster erstellen
window = Tk()
# Den Fenstertitle erstellen
window.title("Hello World")

# Definition von GUI-Elementen
button=Button(window, text="OK", command=button_action)
label = Label(window, text="Eine Label")

# Hinzufügen der Elemente zum Fenster
button.pack()
label.pack()

# Ereignisschleife auf Reaktion des Benutzers warten.
window.mainloop()

Wir importieren noch zusätzlich die Funktion messagebox, definieren eine Methode button_action, rufen innerhalb dieser Methode die Messagebox auf und weisen den Button button im Fenster window die Methode button_action der Eigenschaft command zu. Wenn Sie das Programm ausführen und auf den Button klicken, dann wird die Messagebox angezeigt.

Abbildung 2: Label und Button
Abbildung 3: Meldungsfenster

Literatur und Links

[1] https://wiki.python.org/moin/TkInter
[2] Ernesti J., Kaiser P.: Python 3. Das umfassende Handbuch, Rheinwerk Verlag, 2020