Tkinter Tutorial - Entrada

  1. Ejemplo de entrada en Tkinter
  2. Texto por defecto de la entrada de Tkinter

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

Tkinter Entry_Basic.py
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.

Tkinter Tutorial_Entry Basic

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

Note

Además de 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.

Note

Si index es mayor que la longitud de la cadena existente en el widget, es igual a insert(END, string).

comments powered by Disqus