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)
我正在使用加速器在 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)