我一直在运行这样的小脚本
from Tkinter import *
root = Tk()
def callback(event):
print "callback"
w = Canvas(root, width=300, height=300)
w.bind("<Key>", callback)
w.pack()
root.mainloop()
Run Code Online (Sandbox Code Playgroud)
但是,在我的情况下不处理键盘事件(我在窗口7上使用python 2.7)
如果我使用
w.bind("<Button-1>", callback)
Run Code Online (Sandbox Code Playgroud)
事情很好.
所以,这真让我困惑.请有人告诉我为什么会这样,提前谢谢.
Bry*_*ley 12
仅当具有键盘焦点的窗口小部件获得键事件时,才会触发键绑定.默认情况下,画布不会获得键盘焦点.您可以将重点放在focus_set方法上.通常,您可以在鼠标按钮上进行绑定.
将以下绑定添加到您的代码中,然后在画布中单击,您的键绑定将开始工作:
w.bind("<1>", lambda event: w.focus_set())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8925 次 |
| 最近记录: |