Comment lier la touche Entrée à une fonction dans Tkinter

  1. Lier un événement à une fonction
  2. Lier une pression de touche à une fonction
  3. Lier une pression de touche à une fonction dans la méthode Class Exemple

Dans ce tutoriel, nous allons présenter comment lier la touche Enter à une fonction dans Tkinter.

Lier un événement à une fonction

L’appui sur la touche Enter est un événement, comme le clic sur un bouton, et nous pourrions lier des fonctions ou des méthodes à cet événement pour que l’événement déclenche la fonction spécifiée.

widget.bind(event, handler)

Si event se produit, il déclenchera automatiquement le handler.

Lier une pression de touche à une fonction

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"

L’event est un argument caché passé à la fonction. Il provoquera une TypeError si vous ne le donnez pas dans l’argument d’entrée de la fonction.

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

Nous lions la fonction callback à l’événement <Return>, ou en d’autres termes, à l’événement de pression de la touche Enter.

Lier une pression de touche à une fonction dans la méthode Class Exemple

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

Cette implémentation de classe est similaire à la méthode ci-dessus.

Nous mettons l’attribut keysym de l’objet event dans le label indiqué.

L’attribut keysym est le symbole de la touche de l’événement clavier. Enter est Return comme nous l’avons introduit ci-dessus.

Tkinter lie la touche Enter à une fonction

comments powered by Disqus