gpt4 book ai didi

Python Tkinter Canvas 无法绑定(bind)键盘

转载 作者:太空狗 更新时间:2023-10-29 20:12:45 25 4
gpt4 key购买 nike

我一直在运行这样的小脚本

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()

但是,在我的情况下没有处理键盘事件(我在窗口 7 上使用 python 2.7)

如果我用

w.bind("<Button-1>", callback)

一切正常。

所以,这真的让我很困惑。请任何人告诉我为什么会这样,在此先感谢。

最佳答案

键绑定(bind)仅在具有键盘焦点的小部件获得键事件时触发。默认情况下, Canvas 不会获得键盘焦点。您可以使用 focus_set 方法为其提供焦点。通常,您会在鼠标按钮上的绑定(bind)中执行此操作。

将以下绑定(bind)添加到您的代码中,然后在 Canvas 中单击,您的键绑定(bind)将开始工作:

w.bind("<1>", lambda event: w.focus_set())

关于Python Tkinter Canvas 无法绑定(bind)键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15269682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com