如何在 Tkinter 中将 Enter 键绑定到函数

  1. 将事件绑定到函数
  2. 将按键键击绑定到函数
  3. 将按键绑定到函数的类实现

在本教程中,我们将介绍如何在 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

Tkinter bind enter key to a function

comments powered by Disqus