Tkinter Tutorial - Entrada
El widget Entry
de Tkinter permite al usuario introducir una sola línea de texto que tiene un solo tipo de fuente. Si se requieren más líneas, debe usar el widget Text
de Tkinter. El widget Entry
también puede usarse para mostrar el texto de una sola línea.
Ejemplo de entrada en Tkinter
import tkinter as tk
from tkinter import ttk
def callbackFunc():
resultString.set("{} - {}".format(landString.get(), cityString.get()))
app = tk.Tk()
app.geometry("200x100")
labelLand = tk.Label(app, text="Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app, text="City")
labelCity.grid(column=0, row=1, sticky=tk.W)
landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)
entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)
resultButton = tk.Button(app, text="Get Result", command=callbackFunc)
resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)
resultString = tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)
app.mainloop()
Este código de ejemplo crea una interfaz gráfica de usuario que el usuario puede introducir los nombres del país y la ciudad, y luego muestra la información introducida después de hacer clic en el botón Get Result
.
entryLand = tk.Entry(app, width=20, textvariable=landString)
Crea una instancia de widget Entry
de Tkinter cuyo ancho es de 20 unidades de caracteres. Sólo puede mostrar 20 caracteres en el cuadro de entrada, por lo tanto, necesita usar las teclas de flecha para mostrar el resto de la línea si la línea de texto tiene más de 20 caracteres.
El texto del widget de entrada se asigna a una variable de cadena de Tkinter landString
. Puede obtener el texto con el método landString.get()
, y establecer el texto con el método landString.set()
. El texto en el cuadro de entrada se actualiza automáticamente si se utiliza el método set()
.
get()
el método de StringVar
, también puede usar get()
el método del objeto widget Entry
para recuperar la cadena en la caja Entry
.Texto por defecto de la entrada de Tkinter
Tenemos dos maneras de establecer el texto por defecto de Entry
,
set()
Método para establecer Tkinter Entry
Texto por defecto
Como se indica en el ejemplo anterior, puede utilizar el método set()
de StringVar
para establecer el texto por defecto de Tkinter Entry
.
Por ejemplo,
landString.set("Netherlands")
Establecerá el texto por defecto como Netherlands
.
insert()
Método para establecer Tkinter Entry
Texto por defecto
El método insert(index, string)
inserta el texto string
en la posición index
dada. Y si index
es END
, añade el texto al widget Entry
.
entryLand.insert(tk.END, "Netherlands")
Establece el texto por defecto como Netherlands
.
index
es mayor que la longitud de la cadena existente en el widget, es igual a insert(END, string)
.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