Tkinter:如何绑定班次

Tkinter: How to bind a Shift

我正在使用加速器在 Tkinter 中制作菜单栏:

menubar = tk.Menu(window)
file_menu = tk.Menu(menubar)
menubar.add_cascade(label='File', menu=file_menu)
window.config(menu=menubar)

file_menu.add_command(label='Open resource pack', command=openPack, accelerator='Cmd+o' if IS_MAC else 'Ctrl+o')
window.bind_all('<M1-o>' if IS_MAC else '<Control-o>', openPack)

file_menu.add_command(label='Copy original pack', command=copyOriginalPack, accelerator='Shift+Cmd+c' if IS_MAC else 'Shift+Ctrl+c')
window.bind_all('<M1-C>' if IS_MAC else '<Control-C>', copyOriginalPack)

但对于 Copy original pack 选项,组合键是 Shift + Command + C。加速器只显示菜单栏中的组合键但实际上 运行 命令,所以我必须手动绑定到 window.

如果我没记错的话,要绑定 Shift + Command + C 我只需要说 Control+C 并使 C 大写,因为 Shift.

但是我无法绑定Shift。如果我单击菜单选项,它会起作用,但组合键不起作用。它适用于另一个没有 Shift

的选项

我通过写 <M1-Shift-c> 修复了它(注意小写的 c)