Wie man die Eingabetaste an eine Funktion in Tkinter bindet

Jinku Hu 18 Oktober 2021
  1. Ereignis an eine Funktion binden
  2. Tastendruck an eine Funktion binden
  3. Binden Sie den Tastendruck an eine Funktion in der Klassenmethode Beispiel: Callback
Wie man die Eingabetaste an eine Funktion in Tkinter bindet

In diesem Tutorial werden wir vorstellen, wie man die Enter an eine Funktion in Tkinter bindet.

Ereignis an eine Funktion binden

Das Drücken der Enter ist ein Ereignis, wie z. B. das Klicken einer Taste, und wir könnten Funktionen oder Methoden an dieses Ereignis binden, damit das Ereignis die angegebene Funktion auslöst.

widget.bind(event, handler)

Wenn das Enter eintritt, wird es automatisch den handler auslösen.

Tastendruck an eine Funktion binden

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"

Das event ist ein verstecktes Argument, das an die Funktion übergeben wird. Es wird TypeError auslösen, wenn Sie es nicht im Funktions-Eingabe-Argument angeben.

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

Wir binden die callback Funktion an das <Return> Ereignis, oder anders gesagt, Enter Tastendruck-Ereignis.

Binden Sie den Tastendruck an eine Funktion in der Klassenmethode Beispiel: Callback

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

Diese Klassenimplementierung ähnelt der obigen Methode.

Wir setzen das keysym Attribut des event Objektes in das gezeigte Label.

keysym ist das Tastensymbol des Keyboard-Events. Enter ist Return, wie wir oben eingeführt haben.

Tkinter bindet die Enter-Taste an eine Funktion

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