Mithilfe von Tkinter lassen sich in Python kinderleicht grafische Benutzeroberflächen programmieren. Falls du schon immer lernen wolltest, wie du deinen eigenen Anwendungen ein individuelles Aussehen verleihen kannst, bist du bei diesem Blogartikel genau richtig. In diesem Crashkurs werde ich dir nämlich Schritt für Schritt zeigen, wie du genau das umsetzen kannst.
Inhaltsverzeichnis
1. Was wirst du in diesem Crashkurs lernen?
Du wirst in diesem Crashkurs Schritt für Schritt lernen, wie du eigene GUI-Anwendungen, also Anwendungen mit grafischen Benutzeroberflächen, in Python programmieren kannst.
Im ersten Schritt werde ich dir zeigen, was Tkinter ist und im Anschluss daran werden wir gemeinsam ein kurzes Testprogramm schreiben, mithilfe dessen wir ganz einfach prüfen können, ob alle Komponenten korrekt auf deinem Computer installiert sind.
Sollte das der Fall sein, hast du alle notwendigen Vorbereitungen getroffen, um im nächsten Beitrag direkt durchstarten zu können.
Beginnen wir also direkt mit der wichtigen Frage:
2. Was ist Tkinter?
Um diese Frage beantworten zu können, müssen wir uns das Ganze aus einer High Level Perspektive ansehen. Grundsätzlich setzt sich ein Computer bekanntermaßen aus sogenannter Hardware zusammen. Beispiele für Hardwarekomponenten eines Computers sind etwa die Festplatte, das Mainboard, der Prozessor, der Arbeitsspeicher, Laufwerke und das Netzteil.
Damit diese Hardware miteinander interagiert und du folglich einen funktionsfähigen Computer vor dir hast, ist allerdings noch ein Betriebssystem erforderlich.
Das Betriebssystem hat somit die Aufgabe, die Hardware deines Computers zu kontrollieren und zu verwalten.
Wenn du nun beispielsweise mit der Programmiersprache Python selbst Programme schreibst, möchtest du mit diesen Programmen bewirken, dass der Computer etwas für dich umsetzt.
Zum Beispiel könntest du den Computer mithilfe von Python dazu anweisen, bestimmte Berechnungen durchzuführen. Damit das gelingt, muss man auf irgendeine Art und Weise Zugriff auf die Hardware erlangen.
Bei höheren Programmiersprachen wie etwa Python ist es so, dass man damit nicht direkt auf die Hardware zugreift, sondern stattdessen unter Zuhilfenahme des Betriebssystems Zugriff darauf erhält.
Das Betriebssystem stellt damit gewisse Services bereit, die wir mithilfe der Programmiersprache Python ansprechen können. Anschließend erledigt das Betriebssystem unsere Anweisungen, die wir über Python formuliert haben und greift entsprechend auf die Hardware des Computers zu.
Es handelt sich dabei also um eine Art Schichten-Modell, weshalb ich den Inhalt der folgenden Abbildung übereinandergeschichtet dargestellt habe:
Dabei bietet jede Schicht der darüberliegenden Schicht gewisse Dienste an.
Wenn wir jetzt aber grafische Benutzeroberflächen programmieren möchten, dann reichen die Services des Betriebssystems allein nicht aus. Python benötigt nämlich weitere Services, die es sich hierfür zunutze machen kann.
3. Tcl/Tk
Einer dieser weiteren Services ist Tcl/Tk. Tcl steht für „Tool command language“ und es handelt sich dabei um eine Skriptsprache mit eigenem Interpreter.
Tk wiederum steht für „Toolkit“, welches man für die Erstellung von grafischen Benutzeroberflächen verwendet.
Tcl/Tk stellt nun also Services zur Verfügung, die ermöglichen, Anwendungen mit grafischen Benutzeroberflächen zu bauen. Es gibt allerdings ein Problem: Tcl/Tk erlaubt Python nämlich nicht direkt die eigenen Services zu nutzen. Wenn wir also über Python Zugriff auf die Services von Tcl/Tk erhalten möchten, benötigen wir einen weiteren Vermittler dazwischen.
Dieser Vermittler ist Tkinter, das für „Tk Interface“ steht und was letztendlich Hauptthema dieses Crashkurses sein wird.
4. Welchen Vorteil haben wir durch Tkinter?
Mithilfe von Tkinter können wir die Services von Tcl/Tk nutzen, womit uns ermöglicht wird, ansprechende GUI-Anwendungen in Python sowohl für Windows als auch für Mac zu entwickeln.
Der Vorteil dabei ist, dass wir uns als Python-Entwickler nicht in Tcl/Tk einarbeiten, sondern lediglich verstehen müssen, wie wir mit Tkinter arbeiten können.
Denn Tkinter sorgt dafür, dass alles, was wir als Python-Entwickler zur Entwicklung einer GUI benötigen, als Objekt für uns in Python verfügbar ist.
Was bedeutet das konkret? Wenn wir eine GUI bauen, besteht diese beispielsweise aus einem Hauptfenster und dieses wird über die Services von Tcl/Tk erschaffen. Dieses Fenster ist für uns Python-Entwickler dabei nichts anderes als ein Objekt, mit welchem wir in Python innerhalb unseres Codes arbeiten können.
Jetzt, wo du weißt, was Tkinter ist und wie es konzeptionell einzuordnen ist, müssen wir als Python-Entwickler nur noch dafür sorgen, dass wir unseren Code so aufsetzen, dass wir Tkinter verwenden können.
5. Voraussetzungen für die Nutzung
Grundsätzlich müssen wir hierfür lediglich Python und eine geeignete Entwicklungsumgebung installieren. Im ersten Teil unseres allgemeinen Python-Crashkurses haben wir diese Installation ausführlich erklärt. Dieses Video sowie den zugehörigen Blogartikel, in welchem dir die Installation Schritt für Schritt anhand von Bildern gezeigt wird, kannst du dir gerne (nochmals) ansehen.
Im weiteren Verlauf des Kurses gehen wir davon aus, dass du Python korrekt installiert und ein normales Projekt in PyCharm angelegt hast. Das wird dir, wie bereits erwähnt, im Video sowie im Blogbeitrag im Detail erklärt.
Um nun mithilfe von Tkinter grafische Benutzeroberflächen bauen zu können, müssen wir dieses lediglich in unserem Projekt importieren. Das gestaltet sich denkbar einfach, da Tkinter ein sogenanntes built-in-module ist. Es wird also bereits mit deiner installierten Python-Version ausgeliefert, sodass du dieses Modul nicht mehr extra nachinstallieren musst.
6. Tkinter importieren und testen
Wir schreiben also lediglich oben in unserem Python File den folgenden Importbefehl:
import tkinter
Das war es auch schon! Damit haben wir nun die Möglichkeit, innerhalb dieses Files mit Tkinter zu arbeiten. An dieser Stelle ergänzen wir testweise noch die folgende Anweisung im Code:
import tkinter
tkinter._test()
Wir rufen damit im Namensraum von Tkinter die _test-Methode auf, die uns ermöglicht zu prüfen, ob alles korrekt funktioniert.
Denn wenn wir das Programm an dieser Stelle einmal ausführen, sollte das folgende Fenster erscheinen:
Wenn dieses Fenster auftaucht, bist du auch schon bereit für den kompletten Crashkurs.
Falls das Fenster hingegen nicht erscheinen sollte, hast du Python entweder nicht installiert oder du nutzt möglicherweise eine sehr alte Version von Python. In diesem Fall empfehle ich dir, die aktuellste Python-Version noch mal komplett neu zu installieren.
Wie das funktioniert, ist in diesem YouTube-Video bzw. Blogartikel detailliert beschrieben.
Jetzt, da wir alle Vorbereitungen getroffen haben, können wir im nächsten Beitrag direkt loslegen.