Python GUI tkinter
Willemers Informatik-Ecke
Python Python-Kurs Layout

Themen dieser Seite Weitere Seiten der Informatik-Ecke zum Thema tkinter: Programme werden erst richtig schön, wenn sie in Fenstern laufen. Python bringt eine eigene grafische Bibliothek mit, die auf Tk basiert, das seinerseits eigentlich mit der Interpretersprache Tcl eingeführt wurde. Tcl wird heute kaum noch verwendet, aber dank Python hat Tk eine weitere Verbreitung gefunden.

Ein Tkinter-Programm muss die Bibliothek tkinter importieren.

import tkinter

Unter Python 2 hieß tkinter noch Tkinter. Allerdings dürfte diese Version eigentlich nicht mehr umlaufen.

In vielen Fällen muss tkinter nachinstalliert werden. Unter Linux ist zwar Python meist schon vorinstalliert, aber tkinter könnte fehlen. Um tkinter nachzuinstallieren, benötigen Sie das Paket python-tk. Unter Debian oder Ubuntu lautet der Befehl zur Installation:

# apt-get install python-tk
Unter Windows ist tkinter im Standardumfang des Python-Interpreters enthalten, wenn sie von python.org installiert wird und Tk nicht explizit abgewählt wurde.

Eine kleine Anwendung

Zum Einstieg soll hier eine kleine Beispielanwendung gezeigt werden, die ein Fenster mit einem Button präsentiert und auf den Druck des Buttons das Programm wieder beendet.

Als Entwicklungsumgebung können Sie Visual Studio Code verwenden, was als Open Source unter Linux, Mac und Windows zur Verfügung steht.

code firsttk.py

Es erscheint ein Fenster mit einem Editorbereich, in den Sie den Source-Code unten eingeben, oder mit [Strg]+[C] kopieren und mit [Strg]+[V] einfügen können.

Der erste Schritt im Quelltext

Um Tk zu benutzen, muss die Bibliothek tkinter eingebunden werden.

#!/usr/bin/python3
import tkinter
fenster = tkinter.Tk()
anzeige = tkinter.Label(fenster, text="Guten Tag")
knopf = tkinter.Button(fenster, text="Ende")
anzeige.pack()
knopf.pack()
fenster.mainloop()
Sie sehen, dass sowohl Label als auch Button durch den benamten Parameter text beschriftet werden. Dieses Konzept werden Sie in tkinter noch öfter sehen.

Aus dem Visual Studio Code können Sie das Programm mit [F5] starten. Sie können es natürlich auch von der Konsole aus mit dem Interpreter starten.

Button mit Callback aktivieren

Leider passiert nichts, wenn Sie auf den Knopf drücken. Um das zu erreichen, müssen Sie eine Callback-Funktion definieren und diese an den Button binden.

#!/usr/bin/python3
import tkinter, sys

def ende():
    sys.exit(0)

fenster = tkinter.Tk()
anzeige = tkinter.Label(fenster, text="Guten Tag")
knopf = tkinter.Button(fenster, text="Ende", command=ende)
anzeige.pack()
knopf.pack()
fenster.mainloop()

Links