Cómo vincular la tecla de entrada a una función en Tkinter

Jinku Hu 30 enero 2023 4 diciembre 2019 Tkinter Tkinter Function Binding
  1. Vincular un evento a una función
  2. Vincular la pulsación de una tecla a una función
  3. Vinculación de la pulsación de teclas a una función en el método Class Ejemplo
Cómo vincular la tecla de entrada a una función en Tkinter

En este tutorial, introduciremos cómo vincular la tecla Enter a una función en Tkinter.

Vincular un evento a una función

La pulsación de la tecla Enter es un evento, como el clic de un botón, y podríamos vincular funciones o métodos a este evento para hacer que el evento dispare la función especificada.

widget.bind(event, handler)

Si el event se produce, disparará el handler automáticamente.

Vincular la pulsación de una tecla a una función

import tkinter as tk

app = tk.Tk()
app.geometry("200x100")

def callback(event):
    label["text"] = "You pressed Enter"

app.bind('<Return>', callback)

label = tk.Label(app, text="")
label.pack()

app.mainloop()
def callback(event):
    label["text"] = "You pressed Enter"

El evento es un argumento oculto que se pasa a la función. Levantará TypeError si no lo das en el argumento de entrada de la función.

app.bind('<Return>', callback)

Vinculamos la función callback al evento <Return>, o en otras palabras, al evento de pulsación de la tecla Enter.

Vinculación de la pulsación de teclas a una función en el método Class Ejemplo

import tkinter as tk

class app(tk.Frame):
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("300x200")
        self.label = tk.Label(self.root, text="")
        self.label.pack()
        self.root.bind('<Return>', self.callback)
        self.root.mainloop()


    def callback(self, event):
        self.label["text"] = "You pressed {}".format(event.keysym)
    
app()

Esta implementación de la clase es similar al método anterior.

Ponemos el atributo keysym del objeto event en la etiqueta mostrada.

keysym es el símbolo de la tecla del evento de teclado. Enter es Return, como hemos dicho antes.

Tkinter bind introduce la clave de una función

Author: 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