28

我如何编写我的应用程序以便它可以存在于 Linux 的系统托盘中?事实上,就像CheckGmail一样。

与 CheckGmail 一样,我也希望在悬停托盘图标时出现某种弹出框。

是否有 API、类或其他东西可以做到这一点?我能找到的似乎都是针对 Windows 的。

如果我必须特定于语言,那么最好使用 C/C++,但 Python 中的解决方案很可能也可以。

谢谢。

4

4 回答 4

26

Qt 框架包含一个QSystemTrayIcon类。这意味着您可以使用 C++ 或 Python(或任何其他具有 Qt 绑定的语言,包括 C#、Ada、Pascal、Perl、PHP 和 Ruby)编写应用程序,并在 Windows、Linux、Mac 或任何其他支持的 Qt 操作系统上运行您的应用程序系统。我应该补充一点,Qt 应用程序通常可以很好地在您使用的任何操作系统上看起来都是原生的,而无需付出太多努力(即使在 Linux 上的 Gnome/KDE 之间)。Qt 还拥有出色的文档、大量示例代码、慷慨的许可证并且维护良好。

于 2009-07-29T22:42:12.177 回答
9

python-eggtrayicon

python-eggtrayicon这是debian/testing 中的 debian 软件包附带的示例...

#!/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()

它只是在通知区域显示一个标签。(搜索那个,你可能会得到更好的点击......)

于 2009-07-29T22:38:30.937 回答
5

Qt是跨平台的,并且支持系统托盘。它的Python 绑定也非常好。有关详细信息,请参阅示例应用程序

于 2009-07-29T22:41:09.323 回答
3

从 python 提示符试试这个。

import gtk

icon = gtk.StatusIcon()
icon.set_from_stock(gtk.STOCK_ABOUT)

gtk.main()

您应该会在系统托盘中看到一个图标。

有关更大的示例,请参阅此代码段。

于 2015-05-05T09:03:14.120 回答