如何在wxPython/python2.7中注册macosx上的全局系统键盘热键?

2024-05-23 20:36:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用wxpython2.8在python2.7中编写一个基于GUI的应用程序。我试着在Mac上运行所有的东西,不幸的是,wxPython的wx.Window.RegisterHotKey()方法仅适用于Windows。我希望能够在应用程序运行时设置一个全局热键或组合键,并将该组合键传递到应用程序本身,即使它没有焦点。在Mac OS X上按下(用户定义的)全局热键/组合时,如何允许应用程序收到通知,即使应用程序没有焦点?在


Tags: 方法程序运行应用程序oswindowsmacwxpythongui
2条回答

这在Win32以外的平台上当前不可用。我在WX跟踪器上有一张空票: http://trac.wxwidgets.org/ticket/12354 您将找到如何使用Objective C实现这一点的链接,并且您应该能够使用PyObjC来实现这一点,但是WXPython和在OSX上捕获热键的概述方法都需要在主线程中的事件循环中运行。在

当应用程序有焦点时,您应该能够使用wxPython的AcceleratorTable:

http://www.blog.pythonlibrary.org/2008/07/02/wxpython-working-with-menus-toolbars-and-accelerators/

http://www.blog.pythonlibrary.org/2010/12/02/wxpython-keyboard-shortcuts-accelerators/

我没有Mac电脑,所以你必须试着在wxPython邮件列表或wx Mac邮件列表上寻求有关在wx之外注册热键的帮助。在

相关问题 更多 >