LU03.A09 - GUI-Interaktion mit Callbacks in tkinter
Erstellen Sie eine einfache GUI-Anwendung mit tkinter
, die es einem Benutzer ermöglicht, seinen Namen in ein Eingabefeld einzugeben. Nach Eingabe seines Namens und Klick auf einen Button sollte eine Begrüßungsnachricht angezeigt werden.
Detaillierte Aufgabenstellung
- GUI-Layout:
- Ein Label mit dem Text „Geben Sie Ihren Namen ein:“
- Ein Eingabefeld (Entry-Widget) für den Namen des Benutzers.
- Ein Button mit der Beschriftung „Begrüßen“.
- Funktionalität:
- Wenn der Benutzer auf den „Begrüßen“-Button klickt, sollte unterhalb des Buttons eine Nachricht angezeigt werden, die lautet: „Hallo, [Name des Benutzers]!“.
- Verwenden Sie eine Callback-Funktion, um auf den Button-Klick zu reagieren und die Begrüßungsnachricht zu generieren.
Code-Vorlage
import tkinter as tk class GreetingApp: """ Eine einfache GUI-Anwendung, die es einem Benutzer ermöglicht, seinen Namen in ein Eingabefeld einzugeben. Nach Eingabe seines Namens und Klick auf einen Button wird eine Begrüßungsnachricht angezeigt. """ def __init__(self, root): """ Initialisiert die GUI-Komponenten. Args: - root (tk.Tk): Das Hauptfenster der Anwendung. """ # TODO: Titel setzen und in root in self.root speichern # Label-Widget, das den Benutzer auffordert, seinen Namen einzugeben #TODO # Eingabefeld-Widget (Entry-Widget) für den Namen des Benutzers # TODO # Label-Widget für die Begrüßungsnachricht # Zu Beginn wird kein Text angezeigt # TODO # Button-Widget, das die greet_user-Methode aufruft, wenn es geklickt wird # TODO def greet_user(self): """ Diese Methode wird aufgerufen, wenn der Benutzer auf den "Begrüßen"-Button klickt. Sie liest den Namen aus dem Eingabefeld aus und zeigt eine Begrüßungsnachricht unterhalb des Buttons an. """ # Den eingegebenen Namen aus dem Entry-Widget holen # TODO # Begrüßungsnachricht generieren # TODO # Die Begrüßungsnachricht im Label-Widget anzeigen # TODO if __name__ == '__main__': # Hauptfenster des GUI erstellen root = tk.Tk() # Instanz der GreetingApp-Klasse erstellen app = GreetingApp(root) # GUI-Event-Loop starten root.mainloop()
Hinweis
Callback-Funktion in tkinter
:
In tkinter
wird eine Funktion oder Methode als Callback verwendet, indem sie als Argument an ein GUI-Widget (z.B. Button) übergeben wird. Wenn ein bestimmtes Ereignis (z.B. ein Button-Klick) auftritt, wird diese Funktion aufgerufen.
Beispiel:
def my_callback(): print('Callback wurde aufgerufen!') button = tk.Button(root, text='Klicken Sie mich', command=my_callback)
In diesem Beispiel wird die Funktion my_callback
aufgerufen, wenn der Benutzer auf den Button klickt.
Ressourcen zum Lernen von `tkinter`
Wenn Sie sich intensiver mit der GUI-Entwicklung in Python mit tkinter
beschäftigen möchten, finden Sie hier einige empfohlene Ressourcen:
Offizielle tkinter
Dokumentation:
Tutorials:
Online-Plattformen:
Interaktive Lernplattformen: