我正在寻找Growl-like,用Python语言编写的类似于气球提示的通知库。想象一下,像这样编写代码:
>>> import desktopnotifier as dn
>>> dn.notify('Title', 'Long description goes here')
。。在Mac、Windows和Linux上都会有相应的工具提示通知。这样的库存在吗?如果没有,我该如何自己写一个呢?
图形用户界面更新:我的偏好是不依赖于像PyQT4和wxPython这样的大型框架来完成这样的简单任务。
发布于 2010-02-11 20:21:37
Here's a desktop notifier I wrote a few years ago using wxPython -它在Windows和Linux上的行为是相同的,也应该在OSX上运行。它包含一个线程事件循环,可用于对包含图标和可单击消息的通知窗口进行动画处理。它可能需要一些调整来定制它,以满足您自己的目的,但基础工作已经完成。
发布于 2011-08-16 17:37:38
在Pycon2010上有一个presentation on cross-platform Python development。还有一个关于它的html页面,其中包含一些跨平台通知的建议。然而,我不再在网上找到它,但我保存了一个本地副本,这是通知中的一部分:
在某些情况下,您的应用程序想要通知用户一些事情:软件更新可用,收到新的即时消息,300页的打印作业终于完成,等等。
O Linux:pynotify。
O Mac :通常安装的是非标准的Growl。
O notifications.:一个很好的wxPython解决方案是Andrea Gavana的ToasterBox,它模仿了火狐或雷鸟Windows的外观
对于Phatch,我们开发了一个库,将这三个系统统一到一个中:phatch/lib/notify.py.
链接的python文件非常有趣,我认为您应该能够按原样使用链接的python文件。代码也非常清晰,所以您很快就会看到它是做什么的。
基本的方法是,它检测哪些通知系统可用,几乎与平台无关,并尝试以特定的顺序使用它们,但如果需要,则退回到更简单的系统。这样,如果用户安装了Growl,它就会使用它,而不管平台是什么。
您可以调整它以提供对上述三种通知系统以外的其他通知系统的支持。
发布于 2010-02-11 15:37:58
检查keyring
是如何处理跨平台问题的(它是一个python库,可以插入到各种自动检测到的密钥链后端中进行存储)
的内容
想都别想让通知变得粘性。这是愚蠢的,是麻木不仁的,而且是非常恼人的。此外,由于像你这样的人,它在大多数通知系统中都不可用。
最后,即使其中任何一个都没有Python库,您也可以使用ctypes
来访问它们。
https://stackoverflow.com/questions/2240674
复制相似问题