Das Label-Widget von Tkinter bildet die Basis vieler grafischer Oberflächen: Es präsentiert Texte, Icons oder Bilder und strukturiert Informationen übersichtlich. Der Artikel erläutert, wie Labels vielfältig eingesetzt, an Designs angepasst und mithilfe von Variablen oder Styles dynamisiert werden können – inklusive praktischer Beispiele für feststehende Beschriftungen, Statusanzeigen und Layout-Helfer.

Was ist ein Label?

Ein Label ist das wahrscheinlich am häufigsten verwendete Widget in Tkinter. Es dient zur Anzeige von Text, Bildern oder beidem - aber ist nicht interaktiv (der Nutzer kann nicht darauf klicken oder es bearbeiten). Wobei klicken kann man darauf und bestimmte Aktionen ausführen lassen. Ist aber nicht ein typisches Element dafür.

Man kann sich Label vorstellen wie:

  • Ein Schild mit Text an einem Geschäft
  • Ein Foto an der Wand
  • Eine Überschrift in einem Dokument
  • Eine Statusanzeige irgendwo im Programm

Label-Parameter

Wichtigste Label-Parameter

Text & Inhalt

ParameterTypBeschreibungBeispielHinweise
textstrAnzuzeigender Texttext="Hallo"Kann Zeilenumbrüche enthalten (‘\n’)
textvariableVariableStringVar für dynamischen Texttextvariable=varText ändert sich automatisch mit Variable
imagePhotoImageAnzuzeigendes Bildimage=photoReferenz muss erhalten bleiben!
bitmapstrEingebautes Bitmapbitmap="info"Built-in: error, info, question, warning, etc.
compoundstrText+Bild Positioncompound="left"Werte: left, right, top, bottom, center

Schrift und Farbe

ParameterTypBeschreibungBeispielHinweise
fonttuple/strSchriftartfont=("Arial", 12, "bold")Format: (Familie, Größe, Stil)
fg / foregroundstrTextfarbefg="blue"Farbe als Name oder Hex (#0000FF)
bg / backgroundstrHintergrundfarbebg="yellow"Transparent nicht möglich

Größe und Position

ParameterTypBeschreibungBeispielHinweise
widthintBreite in Zeichenwidth=20Bei Bild: Pixel
heightintHöhe in Zeilenheight=3Bei Bild: Pixel
anchorstrTextposition im Widgetanchor="w"Werte: n, ne, e, se, s, sw, w, nw, center
justifystrMehrzeiliger Textjustify="left"Werte: left, center, right

Label - Text & Inhalt

text Parameter

Schauen wir einfache Beispiel zu diesen Parametern an. Fangen wir an mit dem text Parameter.

Python Beispiel - text
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x400")

label_one = tk.Label(
    master=root,
    text="Ich bin ein Label"
)
label_one.pack(pady=20, padx=20)

root.mainloop()

Tkinter - Label Parameter - text

textvariable Parameter

Im nächsten Beispiel sehen wir uns textvariable Parameter an. Da dieser Parameter für eine dynamisch Aktualisierung des Wertes verwendet wird, brauchen wir auch noch einen Button, mit welchem wir die Aktualisierung auslösen.

Python Beispiel - textvariable
import tkinter as tk


def click_handler():
    label_one_value.set("Neuer Label-Text")

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x400")

label_one_value = tk.StringVar(value="Initialer Wert")
label_one = tk.Label(
    master=root,
    textvariable=label_one_value
)
label_one.pack(pady=20, padx=20)

button_one = tk.Button(
    master=root,
    text="Label text ändern",
    command=click_handler
)
button_one.pack(pady=20, padx=20)

root.mainloop()

Wie wir hier sehen können, lässt sich beim Klick auf den Button der Wert des Labels mit Hilfe von textvariable ändern.

Tkinter - Label Parameter - textvariable (1)

Vor dem Klick

Tkinter - Label Parameter - textvariable (2)

Nach dem Klick

image Parameter

Im nächsten Beispiel sehen wir uns image Parameter an. Dafür werden wir in dem Ordner, in welchem wir das Programm ausführen (schreiben), ein Bild ablegen, das wir verwenden werden.

In meinem Fall habe ich das Bild mit einem Zahnrad wheel.png in meinem Projekt-Ordner abgelegt. Es würde auch meinem absoluten Pfad zum Bild funktionieren, wenn es gelesen werden kann. Es ist allerdings einfacher das Bild direkt im Ordner abzulegen. Das empfehle ich euch auch.

Python Beispiel - image
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

my_img = tk.PhotoImage(file="./wheel.png")

label_one = tk.Label(
    master=root,
    image=my_img
)
label_one.pack()

root.mainloop()

Als Ergebnis kriegen wir ein Programm, in welchem unser Bild direkt angezeigt wird.

Tkinter - Label Parameter - image

Wichtige Information

Bei Verwendung von PhotoImage müssen PhotoImage-Objekte eine Referenz behalten, also auf eine Variable verweisen, das sonst sie durch Garbage Collection aufgeräumt/eleminiert werden.

Hier fast das gleiche Beispiel mit einer kleinen Anpassung. In diesem Beispiel wird PhotoImage direkt am Parameter verwendet. Also kein Verweis auf eine Variable.

Python Beispiel - image
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

label_one = tk.Label(
    master=root,
    image=tk.PhotoImage(file="./wheel.png")
)
label_one.pack()

root.mainloop()

Und wenn wir diesen Code ausführen, stellen wir fest, dass gar kein Bild angezeigt wird. Dies verdeutlicht die Wichtigkeit einer Referenz auf ein PhotoImage Objekt.

Tkinter - Label Parameter - image - Fehlende Referenz

bitmap Parameter

Das nächste Beispiel zeigt den bitmap Parameter. Tkinter hat dabei einige eingebaute Bitmaps. Man kann aber auch eigene Bitmaps verwenden. Hier schauen wir uns an, wie man die eingebaute Bitmaps verwendet.

Python Beispiel - bitmap
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x500")

bitmaps = [
    "error",
    "info",
    "question",
    "warning",
    "hourglass",
    "gray12",
    "gray25",
    "gray50",
    "gray75"
]

for b in bitmaps:
    tk.Label(
        master=root,
        bitmap=b,
        fg="#246990",
    ).pack(pady=10)

root.mainloop()

Tkinter - Label Parameter - bitmap

compound Parameter

Und noch ein Parameter - compound, steuert die Anordnung von Text und Bild (egal ob image= oder bitmap=) im selben Label.

Der Parameter compound kann folgende Werte haben:

  • left: Bild links, Text rechts
  • right: Bild rechts, Text links
  • top: Bild oben, Text unten
  • bottom: Bild unten, Text oben
  • center: Bild über dem Text, Text wird über das Bild gelegt
  • none: Standard - Bild oder Text (nicht beides)

Hier ein Beispiel mit left.

Python Beispiel - compound
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

my_img = tk.PhotoImage(width=32, height=32)
my_img.put(("#246990",), to=(0, 0, 31, 31))

label = tk.Label(
    master=root,
    text="Hallo",
    image=my_img,
    compound="left",
    padx=10,
    font=("Arial", 14)
)
label.pack(pady=10)

root.mainloop()

Tkinter - Label Parameter - compound

Label - Schrift und Farbe

Im nächsten Abschnitt schauen wir uns Parameter an, welche für Schrift und Farbe zuständig sind.

font Parameter

Mit diesem Parameter kann man die Schriftart steuern. Die Größe, die Art und den Typ.

Python Beispiel - font
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

label_one = tk.Label(
    master=root,
    text="Normale Schrift"
).pack(pady=10, padx=10)

label_two = tk.Label(
    master=root,
    text="Benutzerdefinierte Schriftart",
    font=("Courier New", 16)
).pack(pady=10, padx=10)

label_three = tk.Label(
    master=root,
    text="Fette Schriftart",
    font=("Courier New", 16, "bold")
).pack(pady=10, padx=10)

label_four = tk.Label(
    master=root,
    text="Große Schriftart",
    font=("Noto Sans", 22)
).pack(pady=10, padx=10)

root.mainloop()

Tkinter - Label Parameter - font

fg/foreground Parameter

Dieser Parameter ist dafür verantwortlich die Schriftfarbe zu bestimmen.

Python Beispiel - fg
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

my_font=("Noto Sans", 16, "bold")

font_colors = [
    ("Farbe eins", "#2c733f",),
    ("Farbe zwei", "#15888c",),
    ("Farbe drei", "#50287a",),
    ("Farbe vier", "#9e7034")
]

for font_color in font_colors:
    tk.Label(
        master=root,
        text=font_color[0],
        font=my_font,
        fg=font_color[1]
    ).pack(pady=10, padx=10)

root.mainloop()

Wie man hier sehen kann, wird die Schrift im Label jeweils in einer anderen, von uns definierten Schrift-Farbe dargestellt.

Tkinter - Label Parameter - fg/foreground

bg/background Parameter

Analog zu fg, kann man auch den Parameter bg oder background verwenden. Dabei kann man entweder namentliche Farben oder Hex-Code einsetzen.

Python Beispiel - bg
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

my_font=("Noto Sans", 16)

font_colors = [
    ("Farbe eins", "#2c733f",),
    ("Farbe zwei", "#15888c",),
    ("Farbe drei", "#50287a",),
    ("Farbe vier", "#9e7034")
]

for font_color in font_colors:
    tk.Label(
        master=root,
        text=font_color[0],
        font=my_font,
        bg=font_color[1]
    ).pack(pady=10, padx=10, fill="x")

root.mainloop()

In der Ausgabe haben wir nun die gefärbten Label.

Tkinter - Label Parameter - bg/background

Label - Größe und Position

Weiter im Verlauf. Nun geht es um Größe und Position. Folgende Parameter sind dabei wichtig.

width Parameter

Starten wir an diesem Abschnitt mit dem Parameter width.

Die Breite definiert sich folgendermaßen:

  • Bei Schrift - In zeichen
  • Bei Bild - In Pixeln
Python Beispiel - width
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x100")

my_font=("Noto Sans", 16)

label_one = tk.Label(
    master=root,
    text="Hallo Python",
    width=20,
    bg="lightgray"
)
label_one.pack()

root.mainloop()

In diesem Beispiel bekommt unser Label die Breite von 20, unabhängig davon, wie lang der Text ist. Bei Breite von 20 sollten 20 Zeichen gewählten Schriftart in der Regel in das Label passen.

Tkinter - Label Parameter - width (1)

Wenn wir also nun her gehen und ein paar Werte für den width Parameter vordefinieren, können wir die unterschiedlichen Breiten visuell uns anzeigen lassen.

Python Beispiel - width
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

my_font=("Noto Sans", 16)

label_widths = [10, 20, 30]

for lw in label_widths:
    tk.Label(
        master=root,
        text=f"Breite {lw}",
        font=my_font,
        bg="lightgrey",
        width=lw
    ).pack()

root.mainloop()

Tkinter - Label Parameter - width (2)

height Parameter

Analog zum width Parameter gibt es den height Parameter. Die Kalkulation in Abhängigkeit von Schrift oder Bild ist die gleiche.

Python Beispiel - height
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

my_font=("Noto Sans", 16)

label_one = tk.Label(
    master=root,
    text="Höhe des Labels",
    height=3,
    bg="lightgrey",
    font=my_font
).pack()

root.mainloop()

Tkinter - Label Parameter - height (1)

Nun gehen wir wieder den Weg und definieren ein paar Höhen-Werte vor und lassen und in einer Schleife die Widgets bauen.

Python Beispiel - height
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x400")

my_font=("Noto Sans", 16)
my_heights = [1, 2, 3]

for h in my_heights:
    tk.Label(
        master=root,
        text="Höhe des Labels",
        font=my_font,
        bg="lightgrey",
        height=h
    ).pack(pady=5)

root.mainloop()

Wie man sehen kann, erhöht sich die Höhe des Labels entsprechend dem aktuellen Schleifen-Wert.

Tkinter - Label Parameter - height (2)

anchor Parameter

Schauen wir uns den Parameter anchor genauer an. anchor bestimmt, wo der Text innerhalb des Widget-Bereichs positioniert wird.

Folgendes Schema kann man sich hierbei zur Hilfe ziehen.

Python Anchor-Positionen
   nw     n     ne
    \     |     /
     \    |    /
      +-------+
w --> |center | --> e
      +-------+
     /    |    \
    /     |     \
   sw     s     se

Die 9 Anchor-Werte bedeuten dabei folgendes.

WertPosition
noben (north)
neoben rechts
erechts
seunten rechts
sunten
swunten links
wlinks
nwoben links
centermittig (Standard)

Wir starten mit einem minimalen Beispiel und versuchen den Text in einem Label rechts auszurichten. Wie wir aus der Tabelle entnehmen können, benötigen wir e, um etwas im Label nach rechts auszurichten.

Python Beispiel - anchor
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

my_font = ("Noto Sans Mono", 16, "bold")

label = tk.Label(
    master=root,
    text="Hallo",
    width=20,
    height=5,
    anchor="e",
    bg="#246990",
    fg="white",
    font=my_font
)
label.pack()

root.mainloop()

Tkinter - Label Parameter - anchor - e

justify Parameter

Als Nächstes werfen wir einen Blick auf den justify Parameter eines Labels.

Was machte justify?

  • Kontrolliert die Textausrichtung innerhalb jeder Zelle bei mehrzeiligem Text
  • Wirkt nur bei Text mit Zeilenumbrüchen (\n)
  • Vergleichbar mit Links-/Rechtsbündigkeit in Word

justify hat drei Modi.

1 justify="left" (Standard)

Python Schema - left
Dies ist ein sehr langer Text,
der über mehrere Zeilen
verteilt ist.

2 justify="center"

Python Schema - center
Dies ist ein sehr langer Text,
  der über mehrere Zeilen
      verteilt ist.

3 justify="right"

Python Schema - right
Dies ist ein sehr langer Text,
       der über mehrere Zeilen
                  verteilt ist.

Ein kleines Beispiel hierzu, in welchem alle drei Modi visuell sichtbar sind.

Python Beispiel - left
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("1100x300")

my_font = ("Noto Sans Mono", 12)

my_text = (
    "Das ist ein mehrzeiliger Text,\n"
    "welcher über mehrere Zeilen geht.\n"
    "Das ist alles ein Beispiel."
)

main_frame = tk.Frame(
    master=root
).pack()

label_one = tk.Label(
    master=main_frame,
    text=my_text,
    font=my_font,
    justify="left",
    bg="lightblue"
)
label_one.pack(side="left", padx=5)

label_two = tk.Label(
    master=root,
    text=my_text,
    font=my_font,
    justify="center",
    bg="lightblue"
)
label_two.pack(side="left", padx=5)

label_three = tk.Label(
    master=main_frame,
    text=my_text,
    font=my_font,
    justify="right",
    bg="lightblue"
)
label_three.pack(side="left", padx=5)

root.mainloop()

Tkinter - Label Parameter - justify

Label - Rahmen und Stil

In diesem Abschnitt schauen wir uns an, welche Möglichkeiten uns Tkinter bietet, um Rahmen und Stil unserer Labels zu beeinflussen.

relief Parameter

Um die Relief-Stile zu sehen, bauen wir gleich dafür eine App als Beispiel.

Python Relief Beispiele
import tkinter as tk

root = tk.Tk()
root.title("Relief-Stile")
root.geometry("600x400")

reliefs = [
    "flat",
    "raised",
    "sunken",
    "groove",
    "ridge"
]

tk.Label(
    master=root,
    text="Relief-Stile Übersicht",
    font=("Noto Sans Mono", 16)
).pack(pady=10)

frame = tk.Frame(master=root)
frame.pack(pady=20)

for relief in reliefs:
    tk.Label(
        master=frame,
        text=relief,
        relief=relief,
        borderwidth=3,
        width=15,
        height=3,
        bg="lightblue"
    ).pack(side="left", padx=10)

root.mainloop()

Tkinter - Übersicht von Widget-Reliefs

Was zeigt dieses Beispiel?

Dieses Beispiel demonstriert 5 verschiedenen Relief-Stile in Tkinter.

  1. flat: Kein sichtbarer Rahmen - das Widget erscheint flach ohne 3D-Effekt
  2. raised: Widget erscheint erhöht - wie ein Button, der nicht gedrückt ist
  3. sunken: Widget erscheint vertieft - typisch für Eingabefelder
  4. groove: Eingeritzte Linie um das Widget
  5. ridge: Erhabene Linie um das Widget (umgekehrter Groove-Effekt)

bd/borderwidth Parameter

Dieser Parameter bestimmt die Rahmenstärke eines Widgets in Pixeln.

Python Beispiel - borderwidth
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

my_font = ("Noto Sans Mono", 12)

label_one = tk.Label(
    master=root,
    text="Breite = 0",
    borderwidth=0,
    relief="solid"
)
label_one.pack(pady=5)

label_two = tk.Label(
    master=root,
    text="Breite = 3",
    borderwidth=3,
    relief="solid"
)
label_two.pack(pady=5)

label_three = tk.Label(
    master=root,
    text="Breite = 5",
    borderwidth=5,
    relief="solid"
)
label_three.pack(pady=5)

root.mainloop()

Tkinter - Label Parameter - borderwidth

Wie man am Ergebnis sehen kann, erhalten wir unterschiedlich dicke Rahmen um unsere Labels.

padx/ipadx Parameter

Dieser Parameter erzeugt horizontalen Außenabstand (links und rechts) beim Platzieren eines Widgets.

Es gibt dabei einen Unterschied zwischen padx (außen) und ipadx (innen).

  • padx = Abstand außerhalb des Widgets
  • ipadx = Padding innerhalb des Widgets (zwischen Rahmen und Inhalt)
Python Schematische Darstellung
+-------------------------------+
|       Außenabstand (padx)     |
|    +---------------------+    |
|    |  Innenabstand       |    |
|    |   (ipadx)           |    |
|    |   Inhalt            |    |
|    +---------------------+    |
+-------------------------------+

Wie wird padx von pack() verarbeitet?

Ein Widget durchläuft bei pack() drei Layout-Schritte:

  1. Natural size bestimmen - basierend auf dem Inhalt
  2. Internal padding (ipadx/ipady) addieren
  3. Outer padding (padx/pady) addieren - hier wirkt der Parameter

Die Formel, welche vom Geometry-Manager verwendet wird, ist folgende:

Python Formel
final_width = content_width + (2 * ipadx) + (2 * padx)

Schauen wir uns nun ein Beispiel für symmetrisches Padding.

Python Beispiel - padx (1)
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

my_font = ("Noto Sans Mono", 12)

# Ohne Padding
label_one = tk.Label(
    master=root,
    font=my_font,
    text="Ohne Padding",
    bg="#f8fad7"
)
label_one.pack()

# Nur inneres Padding
label_two = tk.Label(
    master=root,
    font=my_font,
    text="ipadx=20",
    bg="#d7faeb"
)
label_two.pack(ipadx=20)

# Nur äußeres Padding
label_three = tk.Label(
    master=root,
    font=my_font,
    text="padx=20",
    bg="#ecdaf7"
)
label_three.pack(padx=20)

# Kombination
label_four = tk.Label(
    master=root,
    font=my_font,
    text="ipadx=20, padx=20",
    bg="#d7eafc"
)
label_four.pack(ipadx=20, padx=20)

root.mainloop()

Als Ergebnis haben wir folgendes Programm.

Tkinter - Label Parameter - padx (ipadx)

pady/ipady Parameter

Der pady und ipady Parameter kontrollieren den vertikalen Abstand (Padding) um den Label-Text.

pady - External Padding

  • Funktion: Fügt Abstand außerhalb des Label-Rahmens hinzu
  • Effekt: Vergrößert den Abstand zu anderen Widgets
  • Werte: Kann ein einzelner Wert (für oben UND unten) oder ein Tupel (oben, unten) sein

ipady - Internal Padding

  • Funktion: Fügt Abstand innerhalb des Label-Rahmens hinzu
  • Effekt: Vergrößert die Höhe des Labels selbst
  • Werte: Ein numerischer Wert, der die vertikale Ausdehnung bestimmt

Schauen wir alles an einem Beispiel an.

Python Beispiel - pady / ipady
import tkinter as tk

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x200")

# 10 Pixel Abstand nach oben und unten
label_one = tk.Label(
    master=root,
    text="pady=10",
    bg="lightblue"
)
label_one.pack(pady=10)

# Interner Abstand
label_two = tk.Label(
    master=root,
    text="ipady=10",
    bg="lightgreen"
)
label_two.pack(ipady=10)

# Mit beiden Parametern
label_three = tk.Label(
    master=root,
    text="pady=5, ipady=5",
    bg="lightcoral"
)
label_three.pack(pady=5, ipady=5)

# Ohne Padding
label_four = tk.Label(
    master=root,
    text="Kein Padding",
    bg="yellow"
)
label_four.pack()

root.mainloop()

Tkinter - Label Parameter - pady (ipady)

Label mit dynamischem Text

Steigen wir mit einem Beispiel ein und schauen danach, was dieses Beispiel in sich an Informationen führt.

Python Beispiel
import tkinter as tk
from datetime import datetime

root = tk.Tk()
root.title("Label - Parameter")
root.geometry("500x300")

my_font=("Noto Sans", 14)

time_var = tk.StringVar()
counter_var = tk.IntVar(value=0)

# Uhrzeit-Label
time_label = tk.Label(
    master=root,
    textvariable=time_var,
    font=my_font,
    fg="#a1f799",
    bg="black"
)
time_label.pack(pady=20, ipady=10, ipadx=10)

def update_time():
    """
    Aktualisiert die Uhrzeit
    """

    current_time = datetime.now().strftime("%H:%M:%S")
    time_var.set(current_time)
    root.after(1000, update_time)

update_time()

# Counter-Label
counter_label = tk.Label(
    master=root,
    textvariable=counter_var,
    font=my_font,
    fg="blue"
)
counter_label.pack(pady=20)

def increment():
    counter_var.set(counter_var.get() + 1)

def decrement():
    counter_var.set(counter_var.get() - 1)

def reset():
    counter_var.set(0)

# Button for Counter
button_frame = tk.Frame(master=root)
button_frame.pack(pady=10)

tk.Button(
    master=button_frame,
    text="➖",
    command=decrement,
    width=5
).pack(side="left", padx=5)

tk.Button(
    master=button_frame,
    text="Reset",
    command=reset,
    width=8
).pack(side="left", padx=5)

tk.Button(
    master=button_frame,
    text="➕",
    command=increment,
    width=5
).pack(side="left", padx=5)

root.mainloop()

Wenn wir diesen Code ausführen, erhalten wir folgendes Ergebnis.

Tkinter - Label Parameter - textvariable Beispiel

Zwei wichtige Konzepte

1. StringVar/IntVar - Tkinter-Variablen

Python
time_var = tk.StringVar()
counter_var = tk.IntVar(value=0)
  • Spezielle Variablen-Typen die Tkinter versteht
  • Wenn die Variable sich ändert, aktualisiert sich das Widget automatisch
  • textvariable=time_var - Label zeigt immer den aktuellen Wert der Variable
  • time_var.set("neuer_wert") - Ändert Text ohne label.configure()
  • time_var.get() - Liest aktuellen Wert

Warum Tkinter-Variablen?

  • Automatische UI-Updates - ändert man die Variable, ändert sich das Label
  • Mehrere Widgets teilen Variable - ein Wert, mehrere Anzeigen
  • Callbacks möglich - trace_add() führt Code bei Änderungen aus

2. root.after() - Timer/Scheduling

Python
# Rufe update_time nach 1000ms auf
root.after(1000, update_time)
  • Nicht-blockierend - UI bleibt responsive
  • Zeit in Millisekunden (1000ms = 1 Sekunde)
  • Kann Funktionen rekursiv aufrufen - Animation/Uhr
  • Arbeitet im Tkinter-Event-Loop
/ Weiter

Zurück zu Widgets

Zur Übersicht