Top-Fragen
Zeitleiste
Chat
Kontext

Tkinter

Sprachanbindung für das GUI-Toolkit Tk an die Programmiersprache Python Aus Wikipedia, der freien Enzyklopädie

Remove ads

Tkinter ist eine Sprachanbindung 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 Mac OS und Windows auch zum Lieferumfang von Python gehört.

Schnelle Fakten Basisdaten ...
Remove ads

Funktionsumfang

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 allen gängigen Linux-Distributionen genutzt werden.

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

Hallo Welt

Thumb
Die Bildschirmausgabe des Beispielprogramms unter Windows 11

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

#Example (Hello, World):
import tkinter #in python 3.x: tkinter wird kleingeschrieben

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()
Remove ads

Bedienelemente und Layout-Manager

Zusammenfassung
Kontext

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.[1]

Grid-Manager

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) #Anordnung durch Grid-Manager
fenster.mainloop()

Pack-Manager

Der Pack-Manager ist (für den Entwickler) der einfachste Layout-Manager, den 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() #Anordnung durch Pack-Manager
fenster.mainloop()
Thumb
Geometriesystem des Place-Managers. Hier dargestellt in einem Tkinter-Fenster.

Place-Manager

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, dass die positive y-Richtung nach unten geht.

Beispiel für Anordnung mithilfe des Place-Managers:

from tkinter import *
fenster = Tk()
fenster.title("Wikipedia")
fenster.geometry("200x50")
label = Label(fenster, text = "Hallo Welt!")
label.place(x = 10, y = 10) #Anordnung durch Place-Manager
fenster.mainloop()
Remove ads

Widgets

Zusammenfassung
Kontext

Label-Widget

Das Label-Widget wird verwendet, um Text im Fenster anzuzeigen.

Thumb
Label-Widget Beispiel
from tkinter import *

fenster = Tk() #Fenster erstellen

label1 = Label(fenster, text = "Dies ist der angezeigte Text!")
label1.place(x = 10, y = 10)

fenster.mainloop()

Hierbei hat das Label-Widget viele Attribute:

Weitere Informationen Attribut, Beschreibung ...

Button-Widget

Das Button-Widget wird verwendet, um einen Knopf zu erstellen und diesen verwenden zu können.

Thumb
Button-Widget Beispiel
import tkinter as tk

fenster = tk.Tk()

button1 = tk.Button(fenster, text="Schließen", command=fenster.destroy)
button1.place(x=10,y=10)

fenster.mainloop()

Hierbei hat das Button-Widget viele Attribute:

Weitere Informationen Attribut, Beschreibung ...

Entry-Widget

Das Entry-Widget ist ein Eingabefeld, in dem der Nutzer Eintragungen vornehmen kann.

Thumb
Entry-Widget Beispiel
from tkinter import *

fenster = Tk()

entry1 = Entry(fenster, text="Nummer")
entry1.place(x=10,y=10)

fenster.mainloop()

Hierbei hat das Entry-Widget viele Attribute:

Weitere Informationen Attribut, Beschreibung ...

Text-Widget

Das Text-Widget ist ein großes Eingabefeld.

Thumb
Text-Widget Beispiel mit Benutzereingabe
from tkinter import *

fenster = Tk()

text1 = Text(fenster)
text1.place(x=10,y=10)

fenster.mainloop()

Hierbei hat das Text-Widget viele Attribute:

Weitere Informationen Attribut, Beschreibung ...
Remove ads

Themed Tk (ttk)

Zusammenfassung
Kontext

Das Modul "Themed Tk" (kurz: ttk) ist ein Modul in Tkinter, welches eine Sammlung von moderner aussehenden Widgets mit erweiterter Funktionalität beinhaltet. Außerdem besitzt ttk mehr Widgets.

Hello World Programm

Thumb
Bildschirmausgabe des Beispielprogramms

Dies ist ein einfaches Hallo-Welt-Programm mit ttk:

import tkinter
from tkinter import ttk

app = tkinter.Tk() #Fenster erstellen
app.title("Hello")

ttk_label = ttk.Label(app, text="Hello WORLD", font=("Arial", 16, "bold"))
ttk_label.place(x=10, y=10)

ttk_button = ttk.Button(app, text="Click me!")
ttk_button.place(x=20,y=30)

app.mainloop()

Der Unterschied zu normalem Tkinter in diesem Programm ist, dass das Drücken des Knopfes eine andere Animation auslöst.

Widgets

Ttk besitzt folgende Widgets:

Weitere Informationen Widget, Beschreibung ...
Remove ads

Siehe auch

Commons: Tkinter – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads