Tkinter

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Tkinter ist ein Wrapper für das GUI-Toolkit Tk für die Programmiersprache Python. Der Name steht als Abkürzung für Tk interface. Tkinter war das erste GUI-Toolkit für Python, weshalb es inzwischen auf macOS und Windows auch zum Lieferumfang von Python gehört.

Funktionsumfang[Bearbeiten | Quelltext bearbeiten]

Durch Tkinter ist es mit Python möglich, Programme mit einer grafischen Benutzeroberfläche zu erstellen. Diese Programme und GUIs können unter Windows, Mac OS und unter einigen Linux-Distributionen genutzt werden. Einige Distributionen (Ubuntu, Gentoo) müssen das Paket erst installieren.

Inzwischen gibt es mehrere Alternativen, zu denen unter anderem WxPython, PyQt und PySide, PyGTK, Kivy sowie PyFLTK zählen.

Hallo Welt[Bearbeiten | Quelltext bearbeiten]

Die Bildschirmausgabe des Beispielprogramms unter Windows 7

Ein einfaches Hallo-Welt-Programm in Python 2.7 mit Tkinter:

#Example (Hello, World):
import Tkinter

tk = Tkinter.Tk()
frame = Tkinter.Frame(tk, relief="ridge", borderwidth=2)
frame.pack(fill="both",expand=1)
label = Tkinter.Label(frame, text="Hallo Welt!")
label.pack(expand=1)
button = Tkinter.Button(frame,text="OK",command=tk.destroy)
button.pack(side="bottom")

tk.mainloop()

Bedienelemente und Layout-Manager[1][Bearbeiten | Quelltext bearbeiten]

Tkinter ermöglicht es verschiedene Bedienelemente im Fenster einzubinden. Dazu zählen z.B. Schaltflächen (Buttons), Schieberegler und Labels. Diese können durch drei unterschiedliche Methoden mithilfe der Layout-Manager in das Fenster integriert werden. Zum einen mit dem .pack()-Befehl, dem .grid()-Befehl und zum anderen mit dem .place()-Befehl.

Grid-Manager[Bearbeiten | Quelltext bearbeiten]

Der Grid Manager ermöglicht es Bedienelemente in einer Art Tabelle in das Fenster zu integrieren, das heißt er basiert im Wesentlichen auf einer Tabelle, die in Reihen und Spalten angeordnet ist. Zur Anordnung werden 'row' und 'column' angegeben, d.h. Zeile und Spalte.

Beispiel für eine Anordnung mithilfe des Grid-Managers:

from tkinter import *
fenster = Tk()
fenster.title("Wikipedia")
fenster.geometry("200x50")
label = Label(fenster, text = "Hallo Welt!")
label.grid(row = 1, column = 1) #Anordung durch Grid-Manager
fenster.mainloop()

Pack-Manager[Bearbeiten | Quelltext bearbeiten]

Der Pack-Manager ist (für den Entwickler) der einfachste Layout-Manager der Python mitliefert. Statt dem Programm genaue Angaben darüber zu geben, wo man das jeweilige Bedienelement platzieren möchte, muss man lediglich den .pack()-Befehl nutzen. Python ordnet das Element anschließend von alleine an und bindet es in das Programm ein.

Beispiel für eine Anordnung mithilfe des Pack-Managers:

from tkinter import *
fenster = Tk()
fenster.title("Wikipedia")
fenster.geometry("200x50")
label = Label(fenster, text = "Hallo Welt!")
label.pack() #Anordung durch Pack-Manager
fenster.mainloop()

Place-Manager[Bearbeiten | Quelltext bearbeiten]

Der Place Manager hingegen erlaubt eine sehr präzise Angabe der Position. Dabei werden Angaben über die x und die y Position der Bedienelemente gemacht. Zu beachten ist hierbei, das die positive y-Richtung nach unten geht.

Beispiel für Anordnung mithilfe des Place-Managers:

Geometrie System des Place-Managers. Hier dargestellt in einem Tkinter-Fenster.
from tkinter import *
fenster = Tk()
fenster.title("Wikipedia")
fenster.geometry("200x50")
label = Label(fenster, text = "Hallo Welt!")
label.place(x = 10, y = 10) #Anordung durch Place-Manager
fenster.mainloop()

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. GUI-Programmierung mit Python: Layout-Manager und Layout-Management in Tkinter. Abgerufen am 20. Februar 2017.