Notify和pynotify有什么区别?

5 投票
1 回答
5022 浏览
提问于 2025-04-17 13:14

我正在尝试理解Notify(一个Python的封装库)和pynotify之间的区别。例如:

from gi.repository import Notify

还有

import pynotify

创建通知的代码看起来很相似,但似乎我无法在python3.3中导入pynotify。顺便说一下,我找不到使用Notify创建带有信号处理器的按钮的方法。有没有办法在Python3.3中导入pynotify或者用Notify创建按钮呢?
这两个模块之间有什么区别呢?
我在网上搜索过,但似乎我的谷歌技能不够好u_u
提前谢谢你。

1 个回答

6

这两者其实是同一种东西的两个版本:都是用来连接 libnotify 的 Python 绑定。不过,import pynotify 是比较老的用法,那个时候用的是 gtk2。现在 gtk3 引入了 GObject 反射,所以你应该使用 gi.repository 这个东西(“gi”代表“Gobject 反射”)。

旧的方式和新的 GI 方式之间的主要区别在于,使用 GI 的话就不需要手动构建 Python(或者 C#、C++、Vala 等等)的绑定了。这一切都是自动完成的,所以你可以直接使用新版本,而不用等绑定发布。这样可以避免很多因为手动处理绑定而产生的错误。

撰写回答