Cómo configurar el texto del Widget de entrada de Tkinter con un botón
-
El método de Tkinter para
delete
einsert
el contenido de laEntry
-
El método
StringVar
de Tkinter para establecer el contenido del Widget deEntry
de Tkinter
Tenemos dos métodos para establecer o cambiar el texto del widget Entry
de Tkinter haciendo clic en un botón,
- El método de
delete
einsert
de Tkinter - El método de Tkinter
StringVar
El método de Tkinter para delete
e insert
el contenido de la Entry
El widget Entry
de Tkinter no tiene un método set
dedicado para establecer el contenido del Entry
. Necesita primero borrar el contenido existente y luego insertar el nuevo contenido si tenemos que cambiar el contenido completamente.
Completa los códigos de trabajo para establecer el texto en Entry
con los métodos 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()
textExample.delete(0, "end")
El método de delete
de Entry
borra el rango de caracteres especificado en la Entry
.
0
es el primer carácter y "end"
es el último carácter del contenido del widget Entry
. Por lo tanto, delete(0, "end")
borra todo el contenido dentro de la caja Entry
.
textExample.insert(0, text)
El método insert
inserta el texto en la posición especificada. En el código anterior, inserta el text
al principio.
El método StringVar
de Tkinter para establecer el contenido del Widget de Entry
de Tkinter
Si el contenido del widget de Tkinter Entry
ha sido asociado con un objeto StringVar
, podría cambiar automáticamente el contenido del widget de Tkinter Entry
cada vez que el valor de StringVar
se actualiza.
Completar los códigos de trabajo para establecer el texto en Entry
con el objeto 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
es un objeto StringVar
y está asociado con el contenido del texto, o en otras palabras, la opción textvariable
del widget Entry
.
textEntry.set(text)
Si textEntry
se actualiza para tener un nuevo valor text
, entonces los widgets cuya textvariable
se asocian con él se actualizarán automáticamente.
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