【问题标题】:How can i make a tray icon in Linux using C++?如何使用 C++ 在 Linux 中制作托盘图标?
【发布时间】:2010-11-13 02:49:06
【问题描述】:

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

在 GNOME (gtk) 和 KDE (qt) 中有何不同?网上找不到教程。

【问题讨论】:

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


    【解决方案1】:

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

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

    甚至还有sample application in Qt

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多