如何在Linux中使用C ++制作托盘图标?

时间:2009-07-22 18:00:46

标签: c++ linux desktop-application system-tray

在Windows中,我可以使用Shell_NotifyIcon()。这个函数的Linux等价物是什么?

GNOME(gtk)和KDE(qt)有什么不同吗?在互联网上找不到任何教程。

3 个答案:

答案 0 :(得分:6)

是的,这取决于您正在使用的桌面环境。

在Qt(KDE)中,您可以使用QSystemTrayIcon以跨平台方式执行此操作。

甚至有sample application in Qt

在GTK中,您使用GtkStatusIcon执行此操作。 this blog post中有一个示例应用程序。

答案 1 :(得分:3)

所有主要桌面都支持当前基于XEmbed的系统托盘图标规范。 Qt和GTK都提供了以舒适的方式使用该协议的工具。无论您的工具包选择如何,图标都将显示在所有桌面环境中。如果您使用Qt,您甚至可以免费与其他平台(如Windows)兼容。

答案 2 :(得分:0)

对于Gnome,有this教程和gtkmm C ++工具包

编辑:这是针对面板小程序,您要求系统托盘图标。它们相似,但不完全相同。转到Reed的答案。