一种选择是使用^{},它在PyObjC之上提供了一个抽象级别。我写它是为了快速生成这些类型的简单状态栏应用程序。
我希望这可以帮助一些人在那里寻找一个简单的,语义的解决方案!
下面是一个简短的示例片段。Decorators用于将函数注册为click事件和计时器的回调。还支持10.8通知。import rumps
class AwesomeStatusBarApp(rumps.App):
def __init__(self):
super(AwesomeStatusBarApp, self).__init__("Awesome App")
self.menu = ["Preferences", "Silly button", "Say hi"]
@rumps.clicked("Preferences")
def prefs(self, _):
rumps.alert("jk! no preferences available!")
@rumps.clicked("Silly button")
def onoff(self, sender):
sender.state = not sender.state
@rumps.clicked("Say hi")
def sayhi(self, _):
rumps.notification("Awesome title", "amazing subtitle", "hi!!1")
if __name__ == "__main__":
AwesomeStatusBarApp().run()