python - 如何在 Python 中为 OSX 制作菜单栏(系统托盘)应用程序?

标签 python macos menubar

在花了相当长的时间研究菜单栏应用程序的方法之后,我们差点认输。

我们基本上只是在寻找有关如何创建将自身置于菜单栏(时钟旁边的小图标)并具有菜单的应用程序的示例/指针。一点都不花哨。

感觉应该是很容易做到的事情,但我们一直没能找到一个可行的例子。

也许用 Python 是不可能的?有谁知道别人是怎么做的吗?

最佳答案

一个选项是使用 rumps它在 PyObjC 之上提供了一个抽象级别。我是专门为快速生成这些类型的简单状态栏应用而编写的。

我希望这可以帮助一些正在寻找简单的语义解决方案的人!

下面是一个简短的示例片段。装饰器用于注册函数作为点击事件和计时器的回调。还支持 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()

pic

关于python - 如何在 Python 中为 OSX 制作菜单栏(系统托盘)应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8544853/

相关文章:

python - 检测颜色并从图像中删除该颜色

Cocoa 应用程序中的 MySQL 客户端

macos - 删除关闭 (CMD+W) 菜单栏按钮不起作用 SwiftUI

python - 使用 boto 强制浏览器显示图像而不是下载图像?

python - 使用 selenium Python 检索 Google 趋势数据中的所有元素

python - 与 Sqlalchemy 查询对象连接以扩展自定义查询类型

java - Junit 和 Java 类路径问题 - OS X

objective-c - NS 大纲 View : exception when edit a NSTextFieldCell bound to a NSTreeController

html - 固定位置使元素的代码部分消失

jquery - 中心导航栏列表元素?