如何在Linux中为系统托盘编写应用程序

28 投票
4 回答
12836 浏览
提问于 2025-04-15 13:16

我该怎么写我的应用程序,让它能在Linux的系统托盘里运行呢?就像CheckGmail那样。

像CheckGmail一样,我还希望当我把鼠标放在托盘图标上时,能弹出一个小框框。

有没有什么API、类或者其他东西可以做到这一点?我找到的资料似乎都是针对Windows的。

如果需要指定编程语言的话,我更希望用C/C++,不过用Python的解决方案也可以。

谢谢。

4 个回答

5

Qt 是一个跨平台的框架,支持系统托盘功能。它的 Python 绑定 也相当不错。想了解更多细节,可以查看这个 示例应用

8

python-eggtrayicon

这里是 Debian 测试版中自带的 python-eggtrayicon 软件包的示例...

#!/usr/bin/python
import pygtk
pygtk.require("2.0")
import gtk
import egg.trayicon
t = egg.trayicon.TrayIcon("MyFirstTrayIcon")
t.add(gtk.Label("Hello"))
t.show_all()
gtk.main()

它只是会在通知区域显示一个标签。(如果你去搜索这个,可能会找到好的结果...)

27

Qt框架里面有一个叫做QSystemTrayIcon的类。这意味着你可以用C++、Python(或者其他支持Qt的语言,比如C#、Ada、Pascal、Perl、PHP和Ruby)来写应用程序,然后在Windows、Linux、Mac或者其他支持Qt的操作系统上运行你的应用。值得一提的是,Qt应用程序通常在你使用的操作系统上看起来都很原生,不需要太多的额外工作(即使是在Linux的Gnome和KDE之间也是如此)。Qt还有很棒的文档、很多示例代码、宽松的许可协议,并且维护得很好。

撰写回答