Python tkinter Eingabefelder

Tkinter bietet mehrere Möglichkeiten zur Texteingabe in Python:

  1. Entry-Widget: Ein einzeiliges Eingabefeld für kurze Texte oder Zahleneingaben. Beispiel:
eingabefeld = tk.Entry(root)
eingabefeld.pack()
  1. Text-Widget: Ein mehrzeiliges Textfeld für längere Texte. Beispiel:
textfeld = tk.Text(master=tkFenster, width=39, height=4, wrap='word')
textfeld.place(x=8, y=8)
  1. Passwort-Eingabe: Ein modifiziertes Entry-Widget, das Eingaben mit Sternen oder anderen Zeichen maskiert. Beispiel:
passwort_feld = tk.Entry(root, show="*")
passwort_feld.pack()

Diese Widgets können mit verschiedenen Methoden manipuliert werden:

  • .get(): Liest den eingegebenen Text aus.
  • .insert(): Fügt Text an einer bestimmten Position ein.
  • .delete(): Löscht Text aus dem Eingabefeld.

Zusätzlich können Scrollbars für mehrzeilige Textfelder hinzugefügt werden, um längere Texte besser zu verwalten.

Um den Inhalt eines Tkinter-Eingabefeldes in Python zu löschen, können Sie die delete()-Methode verwenden. Hier sind die wichtigsten Schritte:

  1. Für ein Entry-Widget:
entry.delete(0, tk.END)

Dies löscht den gesamten Inhalt des Eingabefeldes. Für ein Text-Widget:

text_widget.delete("1.0", tk.END)

Dies löscht den gesamten Inhalt des Textfeldes

Beachten Sie folgende Punkte:

  • Stellen Sie sicher, dass Sie auf das Widget-Objekt selbst zugreifen und nicht auf seinen Inhalt
  • Verwenden Sie „end“ in Kleinbuchstaben innerhalb von Anführungszeichen oder tk.END, wenn Sie Tkinter als tk importiert haben4.
  • Überprüfen Sie, ob das Widget aktiviert ist, bevor Sie die delete()-Methode aufrufen

Sie können diese Funktionalität auch in eine Funktion einbinden, die durch einen Button aufgerufen wird:

def clear_input():
entry.delete(0, tk.END)

clear_button = tk.Button(root, text="Löschen", command=clear_input)
clear_button.pack()

Diese Methode funktioniert zuverlässig, um den Inhalt von Tkinter-Eingabefeldern zu löschen

Um mit den Werten mathematisch zu arbeiten ist ein Entry nicht geeignet. Dafür muss es als Integer definiert werden:


# Zählervariable
count = tk.IntVar(value=0)