首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Python中的跨平台桌面通知程序

Python中的跨平台桌面通知程序
EN

Stack Overflow用户
提问于 2010-02-11 06:02:37
回答 8查看 22.9K关注 0票数 46

我正在寻找Growl-like,用Python语言编写的类似于气球提示的通知库。想象一下,像这样编写代码:

代码语言:javascript
复制
>>> import desktopnotifier as dn
>>> dn.notify('Title', 'Long description goes here')

。。在Mac、Windows和Linux上都会有相应的工具提示通知。这样的库存在吗?如果没有,我该如何自己写一个呢?

  • Mac有默认的通知程序吗?我需要单独安装吗?
  • 在Windows上,我假设这可能需要pywin32
  • On Growl,假设是GNOME,有没有GNOME API (使用gnome-python)可以做到这一点?
  • 我能让通知在所有平台上都‘粘滞’(即永远不会淡出)吗?

图形用户界面更新:我的偏好是不依赖于像PyQT4和wxPython这样的大型框架来完成这样的简单任务。

EN

回答 8

Stack Overflow用户

发布于 2010-02-11 20:21:37

Here's a desktop notifier I wrote a few years ago using wxPython -它在Windows和Linux上的行为是相同的,也应该在OSX上运行。它包含一个线程事件循环,可用于对包含图标和可单击消息的通知窗口进行动画处理。它可能需要一些调整来定制它,以满足您自己的目的,但基础工作已经完成。

票数 19
EN

Stack Overflow用户

发布于 2011-08-16 17:37:38

在Pycon2010上有一个presentation on cross-platform Python development。还有一个关于它的html页面,其中包含一些跨平台通知的建议。然而,我不再在网上找到它,但我保存了一个本地副本,这是通知中的一部分:

在某些情况下,您的应用程序想要通知用户一些事情:软件更新可用,收到新的即时消息,300页的打印作业终于完成,等等。

  • 使通知易于跨平台移植,不要使它们具有交互性。例如,Ubuntu不支持需要用户交互的通知。

  • 这些是最重要的库:

O Linux:pynotify

O Mac :通常安装的是非标准的Growl。

O notifications.:一个很好的wxPython解决方案是Andrea Gavana的ToasterBox,它模仿了火狐或雷鸟Windows的外观

对于Phatch,我们开发了一个库,将这三个系统统一到一个中:phatch/lib/notify.py.

链接的python文件非常有趣,我认为您应该能够按原样使用链接的python文件。代码也非常清晰,所以您很快就会看到它是做什么的。

基本的方法是,它检测哪些通知系统可用,几乎与平台无关,并尝试以特定的顺序使用它们,但如果需要,则退回到更简单的系统。这样,如果用户安装了Growl,它就会使用它,而不管平台是什么。

您可以调整它以提供对上述三种通知系统以外的其他通知系统的支持。

票数 17
EN

Stack Overflow用户

发布于 2010-02-11 15:37:58

  • 如何着手编写它

检查keyring是如何处理跨平台问题的(它是一个python库,可以插入到各种自动检测到的密钥链后端中进行存储)

  • Growl没有与OSX捆绑在一起你必须单独安装它,OSX没有任何内置的通知系统。

  • 对于unixes,你可能希望像前面提到的那样连接到dbus (作为备用,请注意,DBus也可能在OSX中可用),但是KDE和Gnome都有类似Growl的库。分别用于KDE的KNotification和用于Gnome的libnotify。用于windows的

  • ,请查看Snarl,如果不可用,则回退到通知气泡(使用类似于ToasterBox)

的内容

想都别想让通知变得粘性。这是愚蠢的,是麻木不仁的,而且是非常恼人的。此外,由于像你这样的人,它在大多数通知系统中都不可用。

最后,即使其中任何一个都没有Python库,您也可以使用ctypes来访问它们。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2240674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档