TKInter 键绑定:如何防止默认 GUI 导航行为?

Sky*_*yNT 0 user-interface accessibility tkinter python-3.x

在 Tkinter 中,当绑定到也用于导航的键(如 <Tab> 或 <space>)时,如何覆盖键盘导航的默认行为?MWE 重现问题:

import tkinter
root = tkinter.Tk()

def tab():
    print("Tab was pressed")

def space():
    print("space was pressed")

A = tkinter.Button(root, text ="A")
A.pack()
B = tkinter.Button(root, text ="B")
B.pack()

root.bind("<Tab>", lambda x: tab())
root.bind("<space>", lambda x: space())

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

Bry*_*ley 5

为了防止默认行为,您的函数必须返回字符串“break”

def tab():
    print("Tab was pressed")
    return "break"

def space():
    print("space was pressed")
    return "break"
Run Code Online (Sandbox Code Playgroud)