Como ligar a chave Enter a uma função no Tkinter

Jinku Hu 30 janeiro 2023
  1. Ligar evento a uma função
  2. Tecla Bind pressionada para uma função
  3. Tecla Bind pressionada para uma função no método Class Exemplo
Como ligar a chave Enter a uma função no Tkinter

Neste tutorial, vamos introduzir como ligar a tecla Enter a uma função em Tkinter.

Ligar evento a uma função

A tecla Enter é um evento, como clicar no botão, e podemos ligar funções ou métodos a este evento para fazer o evento acionar a função especificada.

widget.bind(event, handler)

Se o evento ocorrer, ele irá acionar o handler automaticamente.

Tecla Bind pressionada para uma função

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"

O evento é um argumento oculto passado para a função. Ele irá levantar o TypeError se você não o der no argumento de entrada da função.

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

Nós ligamos a função callback ao evento <Return>, ou em outras palavras, Enter pressionando a tecla evento.

Tecla Bind pressionada para uma função no método Class Exemplo

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

A implementação desta classe é semelhante ao método acima.

Nós colocamos o atributo keysym do objeto event na etiqueta mostrada.

O keysym é o símbolo chave do evento do teclado. Enter é Return como nós introduzimos acima.

Tkinter bind enter enter chave para uma função

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