mac里python注释的快捷键_如何在Mac OS X上的Python .app中实现全局热键?

本文探讨了一个全局热键的应用案例,作者尝试在一个无法继续维护的应用程序中实现全局热键功能,以便用户可以通过快捷键快速激活应用程序窗口。文章提供了具体的Python代码示例,并寻求帮助解决当前实现中存在的问题。

我目前正在修改由组织内部某人编写的应用程序,该应用程序不再能够维护它。我试图实现一个系统范围的全局热键,只需按下应用程序窗口即可进入焦点。

我在网上遇到的唯一实现是通过PyObjC的HotKeyPython示例。这个例子虽然使用了碳,但在我测试它时似乎没有任何功能。

以下是我正在尝试哪些看起来不起作用的东西:

from Foundation import *

from AppKit import *

from Carbon.CarbonEvt import RegisterEventHotKey

from Carbon.Events import cmdKey, controlKey, optionKey, shiftKey

import objc, AppLauncher

import platform

import struct

IS_SNOW_LEOPARD = platform.mac_ver()[0].startswith('10.6')

if IS_SNOW_LEOPARD:

from Quartz import *

kEventHotKeyPressedSubtype = 6

kEventHotKeyReleasedSubtype = 9

class AppLauncher(NSObject):

window = objc.IBOutlet()

view = objc.IBOutlet()

field = objc.IBOutlet()

def awakeFromNib(self):

self.window.makeFirstResponder_(self.field)

self.field.selectText_(self)

self.field.setDelegate_(self)

self.controlTextDidChange_(None)

def applicationDidFinishLaunching(self):

# register cmd-control-J

self.hotKeyRef = RegisterEventHotKey(38, cmdKey + controlKey, (0, 0),

sendEvent_(), 0)

def sendEvent_(self, theEvent):

if theEvent.type() == NSSystemDefined and \

theEvent.subtype() == kEventHotKeyPressedSubtype:

self.activateIgnoringOtherApps_(True)

NSRunAlertPanel(u'Hot Key Pressed', u'Hot Key Pressed',

None, None, None)

super(AppLauncher, self).sendEvent_(theEvent)有关我如何能够实现这一目标的任何想法(最好不要让碳参与)?

非常感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值