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

  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

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

comments powered by Disqus