Wie man den Text des Tkinter-Eingabe-Widgets mit einer Schaltfläche einstellt
-
Tkinter
deleteundinsertMethode, um den Inhalt vonEntryzu setzen -
Tkinter
StringVarMethode zum Setzen des Inhalts von TkinterEntryWidget
Wir haben zwei Methoden, um den Text des Tkinter Entry Widgets durch Anklicken einer Schaltfläche zu setzen oder zu ändern,
- Tkinter
löschenundeinfügenMethode - Tkinter
StringVarMethode
Tkinter delete und insert Methode, um den Inhalt von Entry zu setzen
Das Tkinter Entry Widget hat keine spezielle set Methode, um den Inhalt des Entry zu setzen. Es muss zuerst den bestehenden Inhalt löschen und dann den neuen Inhalt einfügen, wenn wir den Inhalt komplett ändern müssen.
Vollständige Arbeitscodes zum Setzen von Text in Entry mit den Methoden delete und insert
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textExample.delete(0, "end")
textExample.insert(0, text)
textExample = tk.Entry(root)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()

textExample.delete(0, "end")
Die Methode Löschen der Eingabe löscht den angegebenen Bereich von Zeichen in der Eingabe.
0 ist das erste Zeichen und "end" ist das letzte Zeichen des Inhalts im Entry-Widget. Daher löscht delete(0, "end") den gesamten Inhalt im Feld Entry.
textExample.insert(0, text)
Die Methode insert fügt den Text an der angegebenen Position ein. Im obigen Code fügt sie den text am Anfang ein.
Tkinter StringVar Methode zum Setzen des Inhalts von Tkinter Entry Widget
Wenn der Inhalt des Tkinter Entry-Widgets mit einem StringVar-Objekt verknüpft wurde, könnte es automatisch den Inhalt des Tkinter Entry-Widgets jedes Mal ändern, wenn der Wert von StringVar aktualisiert wird.
Vollständige Arbeitscodes zum Setzen von Text in Entry mit StringVar-Objekt
import tkinter as tk
root = tk.Tk()
root.geometry("400x50")
def setTextInput(text):
textEntry.set(text)
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textExample.pack()
btnSet = tk.Button(
root, height=1, width=10, text="Set", command=lambda: setTextInput("new content")
)
btnSet.pack()
root.mainloop()
textEntry = tk.StringVar()
textExample = tk.Entry(root, textvariable=textEntry)
textEntry ist ein StringVar-Objekt und es ist mit dem Textinhalt verbunden, oder anders gesagt, mit der Option textvariable im Entry-Widget.
textEntry.set(text)
Wenn textEntry aktualisiert wird, um einen neuen Wert text zu erhalten, dann werden die Widgets, deren textvariable mit ihm assoziiert ist, automatisch aktualisiert.
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook