Tkinter Tutorial - Entrada

Jinku Hu 3 enero 2023
  1. Ejemplo de entrada en Tkinter
  2. Texto por defecto de la entrada de Tkinter
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.

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).
Autor: 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