我正在编写一个使用QSystemTrayIcon
的应用程序。一切都按预期工作,但图标不会显示在右上角的Unity通知区域中,而是显示在左上角。
目前的构建环境是Ubuntu 14.04上的clang 3.4,QT 5.3。当使用MinGW进行交叉编译并在wine中运行应用程序时,图标会正确显示。
这可能是Ubuntu中缺少的设置吗?
这是一个产生相同行为的简单片段:
#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();
}
答案 0 :(得分:3)
您描述的问题是已知且当前未修复的错误。见https://bugreports.qt.io/browse/QTBUG-31762
解决方法强>:
sudo apt-add-repository ppa:gurqn/systray-trusty
sudo apt-get update
sudo apt-get upgrade