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

Jinku Hu 15 febbraio 2024
  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
Imposta il testo del widget di immissione di Tkinter con un pulsante

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.

Autore: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Articolo correlato - Tkinter Entry