Ubuntu 12.04 Ubuntu 12.04中的最小QSystemTrayIcon示例

Ubuntu 12.04 Ubuntu 12.04中的最小QSystemTrayIcon示例,ubuntu-12.04,qt5.4,Ubuntu 12.04,Qt5.4,我正在研究如何使用Ubuntu 12.04构建和部署Qt应用程序。我正在使用我下载的Qt5.4.2。我将其安装在默认位置~/Qt5.4.2 目前我想设置一个托盘图标。我的代码如下所示: #include <QApplication> #include <QDebug> #include <QIcon> #include <QSystemTrayIcon> int main(int argc, char **argv) { QApplica

我正在研究如何使用Ubuntu 12.04构建和部署Qt应用程序。我正在使用我下载的Qt5.4.2。我将其安装在默认位置
~/Qt5.4.2

目前我想设置一个托盘图标。我的代码如下所示:

#include <QApplication>
#include <QDebug>
#include <QIcon>
#include <QSystemTrayIcon>

int main(int argc, char **argv)
{
    QApplication app(argc, argv);
    QSystemTrayIcon *trayIcon = new QSystemTrayIcon();
    qDebug() << trayIcon->isSystemTrayAvailable();
    trayIcon->setIcon(QIcon("heart.png"));
    trayIcon->show();
    return app.exec();
}
运行创建的文件会显示托盘图标

为了部署应用程序,我将以下文件复制到同一目录中。我是从
~/Qt5.4.2/5.4/gcc\u 64/lib
获得的:

libicudata.so.53
libicui18n.so.53
libicuuc.so.53
libQt5Core.so.5
libQt5DBus.so.5
libQt5Gui.so.5
libQt5Widgets.so.5
我还复制了
~/Qt5.4.2/5.4/gcc_64/plugins/platforms/libqxcb.so
,并将其放在名为
platforms
的目录下

我测试了添加一个
qt.conf
文件,但似乎没有效果。它的内容是

[Paths]
Prefix = .
Binaries = .
我将整个目录复制到运行Ubuntu 12.04 live CD的虚拟机上。在运行二进制文件之前,我导出了
LD\u LIBRARY\u PATH=。
,以便找到包含的Qt库

不幸的是,当程序在VM中运行时,托盘图标没有显示。
qDebug
语句显示系统托盘可用


提前感谢。

我通过编辑systray白名单解决了这个问题:

[Paths]
Prefix = .
Binaries = .