提问人:bookofproofs 提问时间:8/22/2021 更新时间:8/23/2021 访问量:1354
在 tkinter 中正确绑定 Tab 键
Correctly binding the tab key in tkinter
问:
我正在尝试覆盖 tkinter 文本小部件内 tab 键的标准行为。我在尝试
from tkinter import *
def enter_return(event):
print("Return")
def enter_tab(event):
print("Tab")
root = Tk()
t = Text(root, height=20, width=30)
t.pack()
t.bind_all('<Return>', enter_return)
t.bind_all('<Tab>', enter_tab)
mainloop()
但是当我运行该代码时,当我按回车键时,只会调用该函数。当我按 Tab 键时,不被调用。为什么会这样,我该如何解决?enter_return()
enter_tab()
我在 Windows 上。
答:
-1赞
Roy D.
8/22/2021
#1
root.bind("<Tab>", enter_tab)
希望将 Tab 键事件绑定到主窗口将实现您的目标
评论
1赞
TheLizzard
8/22/2021
你想让OP在文学上使用吗?还是想让 OP 使用?如果是后者,请让它更明显一点。root.bind("", enter_tab)
root.bind("<Tab>", enter_tab)
0赞
bookofproofs
8/22/2021
它没有用。此外,应该将其绑定到所有小部件,包括 root?!bind_all
0赞
bookofproofs
8/22/2021
#2
更改以解决我的问题。但是,相比之下,我不明白为什么以及为什么仍在工作。t.bind_all('<Tab>', enter_tab)
t.bind('<Tab>', enter_tab)
t.bind_all('<Return>', enter_return)
评论
.bind(...)
.bind_all(...)
return "break"
enter_tab