Wie man die Eingabetaste an eine Funktion in Tkinter bindet
- Ereignis an eine Funktion binden
- Tastendruck an eine Funktion binden
-
Binden Sie den Tastendruck an eine Funktion in der Klassenmethode Beispiel:
Callback
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.