2013-05-04 39 views
5

我正在考虑Tkinter菜单标签(命令)的快捷键。 在Mac上,与cmd⌘的组合很常见。如何获得Tkinter Mac友好的菜单快捷键(cmd + key)

到目前为止,我只找到了self.bind_all("<Control-q>", self.quit)。如何实现cmd⌘快捷键?

然后,考虑一下 - 一旦应用程序完成 - 将其翻译为Windows和Mac应用程序的可执行文件可能会导致使用cmd⌘时出现困难? 处理这个问题的最佳方法是什么?

回答

4

我想你需要指定Tk Built-in Commands列出的元和M修饰符之一 - 也许Mod1代替Control。你也可能会发现这个keysyms recognized by Tk列表有用。

虽然我从来没有真正尝试过每一个做到这一点 - 如果一切都失败了 - 你可能能够确定你需要编写自己的事件处理函数def handlerName(event):,将其绑定到'<Any-KeyPress>'事件知道什么,然后在函数print中调用事件参数的属性值(例如event.keycode,event.keysym,event.keysym_num等),从而允许您查看要在其上检测⌘-key修改的击键的操作你的Mac。

最后,Python是开源的,所以你可以随时尝试阅读。

更新:从此answer中的代码,它听起来像Command-将工作。