Imposta il testo del widget di immissione di Tkinter con un pulsante

  1. Tkinter delete e insert Metodo per impostare il contenuto di voce
  2. Metodo StringVar di Tkinter per impostare il contenuto del widget Entry di Tkinter

Abbiamo due metodi per impostare o modificare il testo del widget Entry di Tkinter facendo clic su un pulsante Tkinter,

  1. Metodo Tkinter delete e insert
  2. Metodo Tkinter StringVar

Tkinter delete e insert Metodo per impostare il contenuto di voce

Il widget Entry di Tkinter non ha un metodo set dedicato per impostare il contenuto della Entry. Deve prima eliminare il contenuto esistente e quindi inserire il nuovo contenuto se dobbiamo modificare completamente il contenuto.

Codici di lavoro completi per impostare il testo in Inserimento con i metodi delete e 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 Imposta il contenuto di Tkinter Entry_delete e inserisci il metodo

textExample.delete(0,"end")

Il metodo delete di Entry elimina l’intervallo di caratteri specificato in Entry.

0 è il primo carattere e "end" è l’ultimo carattere del contenuto nel widget Entry. Pertanto, delete(0,“end”) elimina tutto il contenuto all’interno della casella Entry.

textExample.insert(0, text)

Il metodo insert inserisce il testo nella posizione specificata. Nel codice sopra, inserisce il text all’inizio.

Metodo StringVar di Tkinter per impostare il contenuto del widget Entry di Tkinter

Se il contenuto del widget Entry di Tkinter è stato associato ad un oggetto StringVar, potrebbe cambiare automaticamente il contenuto del widget Entry di Tkinter ogni volta che il valore di StringVar viene aggiornato.

Codici di lavoro completi per impostare il testo in Entry con l’oggetto StringVar

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 è un oggetto StringVar ed è associato al contenuto del testo, o in altre parole all’opzione textvariable nel widget Entry.

textEntry.set(text)

Se textEntry viene aggiornato per avere un nuovo valore text, allora i widget a cui è associata textvariable verranno aggiornati automaticamente.

Articolo correlato - Tkinter Entry

  • Impostare il testo predefinito del widget Tkinter Entry