Wie man den Text des Tkinter-Eingabe-Widgets mit einer Schaltfläche einstellt

  1. Tkinter delete und insert Methode, um den Inhalt von Entry zu setzen
  2. Tkinter StringVar Methode zum Setzen des Inhalts von Tkinter Entry Widget

Wir haben zwei Methoden, um den Text des Tkinter Entry Widgets durch Anklicken einer Schaltfläche zu setzen oder zu ändern,

  1. Tkinter löschen und einfügen Methode
  2. Tkinter StringVar Methode

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()

Tkinter Set Inhalt von Tkinter Entry_delete und Insert-Methode

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.

Verwandter Artikel - Tkinter Entry

  • Wie man den Standardtext des Tkinter-Eingabe-Widgets einstellt