跨平台Python通知库

9
我正在编写一个Python脚本,应该在后台运行并通知用户发生的更改,我希望它能跨平台工作。主要问题是,我完全没有使用Mac的权限,因此专门为其编码可能非常困难。wxPython似乎对于简单的弹出窗口而言有些过度臃肿,所以有没有任何占用更少资源的东西?

在Linux上,OSD通知不够好吗?它已经默认在Ubuntu/Fedora上可用了。 - jldupont
1
是的,OSD通知很完美。如果必要的话,我只会在Linux上使用它,在Windows上使用Snarl,在Mac上使用Growl,但我想这样做可能会很好,因为有些人可能不想安装或不使用这些软件。 - Phoshi
既然操作系统是不同的,那么“跨平台”是什么意思呢?你能举出任何符合你对“跨平台”的定义的现有软件包的例子吗? - S.Lott
1
Python本身!在任何操作系统上运行相同的脚本,最少更改,如果有的话。 - Phoshi
3个回答

4
在Windows和Mac上,Python是否也提供Tk包装器?如果是的话,您可以自己制作通知框。我不认为它们有一个非常简单的通知API(例如,您传递一个字符串,然后可爱的框弹出5秒),但至少您只需要维护一个代码库。
我正在考虑其他跨平台应用程序,例如Skype、Dropbox和Thunderbird。Skype和Thunderbird似乎都采用了自己的解决方案,而Dropbox则选择了特定于平台的路线。

我刚刚尝试了import Tkinter,没有出现任何问题,所以我认为这应该很好用!谢谢 :) - Phoshi

1

Adobe Wave 是一个跨平台的通知框架,但我没有使用过它,也不认为它是面向桌面的应用程序,而是适用于丰富的互联网应用程序和插入到网站中的一些跨平台通知,所以可能值得一看。

这让我想起来,你可能能够找到一个 AIR 通知系统,你可以从 Python 中触发。Mono with GTK# 可以支持三个主要的桌面平台。也许可以看看这个 GtkSharpNotification 的例子。

最后,对于我的第三次尝试,也许一个像 wxWidgets 这样的跨平台 GUI 工具包有你需要的小部件。


所有的建议都很好!不幸的是,这似乎对于一个简单的弹出框来说有些过度了!:( - Phoshi
是的,这绝对取决于您的情况,以及它是零售应用程序、商业应用程序还是其他类型的应用程序。我承认,我并不觉得我的任何想法都非常吸引人,但您正在尝试避免长期维护三个代码库。 - JasonSmith
这些是好主意,如果这是一个更大的项目,我肯定会考虑它们,但现在不是。 :( - Phoshi
1
刚刚添加了第二个有关Tk的即兴回答。抱歉,我已经没有更多的想法了! :) - JasonSmith

0

看起来有一个方法就是使用Growl/GNTP这样的东西。你有没有看过Python的gntp库呢?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接