QSystemTrayIcon 未显示在 Ubuntu 14.04 的通知区域中

Posted

技术标签:

【中文标题】QSystemTrayIcon 未显示在 Ubuntu 14.04 的通知区域中【英文标题】:QSystemTrayIcon not showing in notification area on Ubuntu 14.04 【发布时间】:2014-07-14 08:45:44 【问题描述】:

我正在编写一个使用QSystemTrayIcon 的应用程序。一切都按预期工作,但图标没有显示在右上角的 Unity 通知区域中,而是显示在左上角。

目前的构建环境是clang 3.4,Ubuntu 14.04上的QT 5.3。使用 MinGW 进行交叉编译并在 wine 中运行应用程序时,图标会正确显示。

这可能是 Ubuntu 中缺少的设置吗?

这是一个产生相同行为的简单 sn-p:

#include <QSystemTrayIcon>
#include <QApplication>

int main(int argc, char *argv[])

    QApplication app(argc, argv);

    QPixmap pixmap(32, 32);
    pixmap.fill(Qt::red);

    QIcon icon(pixmap);

    QSystemTrayIcon trayIcon(icon);

    QObject::connect(&trayIcon, SIGNAL(activated(QSystemTrayIcon::ActivationReason)), &app, SLOT(quit()));

    trayIcon.show();

    return app.exec();

【问题讨论】:

实际上,该错误仍然存​​在于带有 Qt5.4 的 Kubuntu 15.10 中。 【参考方案1】:

您描述的问题是一个已知且当前未修复的错误。见https://bugreports.qt.io/browse/QTBUG-31762

解决方法

sudo apt-add-repository ppa:gurqn/systray-trusty
sudo apt-get update
sudo apt-get upgrade

【讨论】:

以上是关于QSystemTrayIcon 未显示在 Ubuntu 14.04 的通知区域中的主要内容,如果未能解决你的问题,请参考以下文章

Qt QSystemTrayIcon未发送激活信号

QSystemTrayIcon 仅显示占位符而不显示真实图标

Qt 系统托盘(加hover效果)

QSystemtrayicon:Mac 上没有图像

QtGui.QSystemTrayIcon settooltip 在 debian 拉伸中不起作用

Qt 5.3 QSystemTrayIcon 无法正常工作[Linux]