如何在 Tkinter 中将 Enter 键绑定到函数
在本教程中,我们将介绍如何在 Tkinter 中将 Enter 键绑定到函数。
将事件绑定到函数
按下 Enter 键是一个事件,就如同点击按钮一样,我们可以绑定的函数或方法到这些事件,使事件触发指定的函数。
widget.bind(event, handler)
如果 event
发生,它将自动触发 handler
。
将按键键击绑定到函数
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"
event
是传递给函数 callback
的隐藏参数。如果你在函数输入参数中不列出它的话,它将报 TypeError
错误。
app.bind('<Return>', callback)
我们将 callback
函数绑定到 <Return>
事件,即 Enter 按键事件。
将按键绑定到函数的类实现
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()
类的实现方法同上面开始最初介绍的方法类似。
我们将 event
对象的 keysym
属性放在显示的标签中。
keysym
是键盘事件的键符号。正如我们上面介绍的,Enter 的键符号是 Return
。
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