Qt 图标未显示在其他电脑上

Qt 图标未显示在其他电脑上,qt,icons,Qt,Icons,我正在开发QT应用程序,而且我使用的图标很少 这是我的resource.qrc文件 <RCC> <qresource prefix="/new/prefix1"> <file>army-officer-icon.png</file> <file>uac.png</file> </qresource> </RCC> 下面是处理图标的代码: //this

我正在开发QT应用程序,而且我使用的图标很少

这是我的resource.qrc文件

<RCC>
    <qresource prefix="/new/prefix1">
        <file>army-officer-icon.png</file>
        <file>uac.png</file>
    </qresource>
</RCC>
下面是处理图标的代码:

//this code is part of the mainwindow.cpp
QSystemTrayIcon *trayIcon;
trayIcon = new QSystemTrayIcon(this);
trayIcon->setContextMenu(trayIconMenu);
trayIcon->setIcon(QIcon(":/new/prefix1/army-officer-icon.png"));
trayIcon->show();



//this code is part of the ui_mainwindow.h (generated by QT)
        QLabel *label_5;
        label_5 = new QLabel(centralWidget);
        label_5->setObjectName(QString::fromUtf8("label_5"));
        label_5->setGeometry(QRect(40, 302, 46, 21));
        label_5->setPixmap(QPixmap(QString::fromUtf8(":/new/prefix1/uac.png")));
        label_5->show();
所以,这看起来很合理,对吗

==windows 7,开发站,安装了QT

而且效果也和我预期的一样

我可以看到两个图标::托盘图标和uac屏蔽=真棒

但是当我移动到另一个工作站时,一些奇怪的事情发生了

==windows XP,用户工作站,未安装QT

正如你所看到的,trayicon仍然有自己的图标,但“uac盾牌图标”消失了。。。这非常令人不安,我真的不明白,因为这两个图标都是*.png格式,我浏览了很多,也许它与qt图像插件有联系(尽管我认为我应该只在我的图标是*.jpeg,*.gif格式时才关心它),但我无法让这个解决方案工作

所以任何想法都是受欢迎的。
Thanx提前。

好的,我在发布这篇文章后找到了解决方案(实际上,我很接近,但我复制了一些路径错误的东西:/)

  • 找到C:\QtSDK\Desktop\Qt\4.8.0\mingw\plugins

  • 将插件/图像格式复制到应用程序文件夹

  • 打开main.cpp并添加这行代码

    a.addLibraryPath(QCoreApplication::applicationDirPath ()+"/plugins"); 
    
  • 编译,看看你漂亮的图标:)


  • 如果将
    imageformats/
    文件夹直接复制到应用程序文件夹中,则无需将
    plugins
    目录添加为库路径。
    a.addLibraryPath(QCoreApplication::applicationDirPath ()+"/plugins");