CodeGym /Kurse /Python SELF DE /Buttons und Eingabefelder

Buttons und Eingabefelder

Python SELF DE
Level 49 , Lektion 2
Verfügbar

1. Buttons in Tkinter erstellen

Warum brauchen wir das?

Stell dir vor, du baust einen Taschenrechner. Wer würde ihn benutzen, wenn man keine Daten eingeben und den Gleich-Button drücken könnte? Oder vielleicht entwickelst du ein Formular für die Dateneingabe. Hier sind Eingabefelder und Buttons auch sehr nützlich.

Buttons und Eingabefelder ermöglichen es dem Benutzer, direkt auf das Programm und sein Verhalten einzuwirken. Es ist wie ein Zauberstab, der ein passives Fenster in ein aktives Werkzeug verwandelt.

Wie sieht ein Button in Tkinter aus?

Die Bibliothek Tkinter bietet das Widget Button zur Erstellung von Buttons. Dieses Widget ist ziemlich flexibel und erlaubt es dir, den Text des Buttons, die Farbe und auch die Aktion, die beim Klicken ausgeführt wird, anzupassen.

So wird es gemacht:

import tkinter as tk

# Hauptfenster erstellen
root = tk.Tk()
root.title("Meine Anwendung")

# Button erstellen und zum Fenster hinzufügen
button = tk.Button(root, text="Drück mich!", command=lambda: print("Button gedrückt!"))
button.pack()

# Hauptschleife starten
root.mainloop()

Achte auf den Parameter command: Er erlaubt es, eine bestimmte Aktion mit dem Button zu verknüpfen. In diesem Beispiel wird beim Klicken des Buttons die Nachricht "Button gedrückt!" in die Konsole ausgegeben.

Den Button schick machen

Natürlich möchtest du, dass deine Buttons nicht nur funktionieren, sondern auch attraktiv aussehen. Lass uns etwas Kreativität hinzufügen:

button = tk.Button(root, text="Drück mich!", command=lambda: print("Button gedrückt!"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
  • bg und fg — stehen für Hintergrund- und Textfarbe.
  • font — erlaubt die Auswahl der Schriftart und ihrer Größe.
  • pady — vertikaler Abstand, damit der Button "atmen" kann.

2. Eingabefelder in Tkinter

Kommen wir zu den Texteingabefeldern. Das sind kleine Textfenster, in die dein Benutzer seine Wünsche (und nicht nur) eingeben kann.

Einfache Texteingabe

Ein Eingabefeld zu erstellen, ist mit dem Widget Entry kinderleicht:

entry = tk.Entry(root)
entry.pack()

Aber was bringt ein einfach erstelltes Eingabefeld, wenn du die Daten nicht abrufen kannst? Lass uns das lernen!

def get_input():
    user_input = entry.get()
    print(f"Benutzer hat eingegeben: {user_input}")

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Eingabe abrufen", command=get_input)
button.pack()

Super, jetzt haben wir einen Button, der das, was in das Feld eingegeben wurde, auf dem Bildschirm ausgibt.

Eingabefeld verschönern

Wie bei Buttons kannst du auch die Eingabefelder anpassen:

entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)

Hier haben wir die Schriftart, die Text- und Hintergrundfarbe angepasst. Die Parameter padx und pady fügen horizontale und vertikale Abstände hinzu.

3. Praktische Anwendung

Lasst uns alles kombinieren und eine Anwendung erstellen, bei der der Benutzer Daten eingeben und einen Button drücken kann, um die eingegebenen Informationen zu verarbeiten. Wir erstellen einen kleinen Taschenrechner, der eingegebene Zahlen addiert.

import tkinter as tk

def calculate():
    try:
        # Werte aus den Feldern abrufen
        number1 = float(entry1.get())
        number2 = float(entry2.get())
        
        # Summe berechnen
        result = number1 + number2
        
        # Ergebnistext aktualisieren
        result_label.config(text=f"Ergebnis: {result}")
    except ValueError:
        result_label.config(text="Gib gültige Zahlen ein!")

# Hauptfenster erstellen
root = tk.Tk()
root.title("Einfacher Taschenrechner")

# Eingabefelder für Zahlen
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)

# Button für Berechnung
calculate_button = tk.Button(root, text="Addieren", command=calculate)
calculate_button.pack(pady=10)

# Label zur Anzeige des Ergebnisses
result_label = tk.Label(root, text="Ergebnis: ")
result_label.pack()

# Hauptschleife starten
root.mainloop()

So einfach haben wir eine kleine, aber stolze Taschenrechner-Anwendung erstellt, die es dem Benutzer ermöglicht, Daten einzugeben und das Ergebnis zu sehen.

Fehlerbehebung beim Arbeiten mit Widgets

Beim Arbeiten mit Buttons und Eingabefeldern kannst du auf einige typische Fehler stoßen. Zum Beispiel passiert es oft, dass der Button-Handler nicht funktioniert. Der Grund ist meistens ein fehlender Parameter command oder ein Syntaxfehler in der Lambda-Funktion.

Außerdem treten häufig Fehler durch falsche Dateneingaben auf. Daher vergiss nicht, die Eingaben zu prüfen und zu verarbeiten, wie wir es in unserem Taschenrechner gemacht haben, um Probleme zu vermeiden.

Das war's für heute! Jetzt weißt du, wie du Buttons und Eingabefelder zu deiner Anwendung hinzufügen kannst, um die Interaktion mit dem Benutzer interaktiver und spannender zu gestalten. Der nächste Schritt ist die Ereignisverarbeitung beim Drücken von Buttons, aber dazu mehr in der nächsten Vorlesung!

Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION