如何在 Tkinter 中將 Enter 鍵繫結到函式

Jinku Hu 2023年1月30日
  1. 將事件繫結到函式
  2. 將按鍵鍵擊繫結到函式
  3. 將按鍵繫結到函式的類實現
如何在 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

Tkinter bind enter key to a function

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook