如何在Tkinter中正确绑定<(小于号)按键?
Tkinter < 按键绑定解决方案
错误原因
- Tkinter 事件绑定语法以
<作为事件声明的起始标识,直接传入"<"作为绑定参数会被解析器判定为非法事件格式,触发_tkinter.TclError报错 - 尝试的
"Shift-,"写法不生效,是因为 Tkinter 对特殊可打印符号有统一的按键符号(keysym)命名规则,直接写组合键格式不符合语法要求
正确实现
< 按键对应的标准 keysym 为 less,同时绑定的回调函数默认会传入 event 参数,需要在函数定义时预留参数位置,完整代码如下:
from tkinter import * import tkinter as tk root = Tk() def Hello(event): print("You press '<' key") root.bind("<less>", Hello) root.mainloop()
可选替代方案
如果需要使用组合键写法实现相同效果,可以使用 <Shift-comma> 作为绑定参数,效果和 <less> 完全一致:
root.bind("<Shift-comma>", Hello)
内容的提问来源于stack exchange,提问作者Block
相关产品推荐
相关产品推荐

