问题描述
我有一个菜单,该菜单在tkinter
应用程序中显示为上下文菜单:
rmenu = tk.Menu(None,tearoff=0,takefocus=0)
# add some commands here
rmenu.add_command(label="copy",copyfunction,accelerator="Shift-C")
rmenu.bind("<Shift-KeyPress-C>",copyfunction) # this doesn't work on windows!
我在此上下文菜单中定义了命令的快捷方式,然后,当我尝试通过在 windows 上键入<Shift>
+ <C>
来运行命令时,它没有工作。其实我会发出哔哔声。
在这种情况下是否可以定义快捷方式?
更新:
rmenu.event_generate("<Shift-KeyPress-C>",when="tail")
PS:这在Linux上有效
解决方法
bind
到root
的键盘快捷键。只有带有focus
的内容才能监听键绑定。上下文菜单多长时间关注一次?通过在bind_all
上使用root
,任何具有focus
的东西都会触发键绑定。
root.bind_all("<Shift-C>",copyfunction)