其他PC上未显示图标

时间:2012-03-03 23:20:21

标签: qt icons

即时开发QT应用程序,我使用少量图标

这是我的resource.qrc文件

<RCC>
    <qresource prefix="/new/prefix1">
        <file>army-officer-icon.png</file>
        <file>uac.png</file>
    </qresource>
</RCC>

然后我将其包含在我的.pro文件中

RESOURCES += \
    resource.qrc

以下是处理图标的代码:

//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

结果效果也如我所料 windows 7 - developing station, where qt is installed

我可以看到两个图标::托盘图标&amp; uac shield =很棒

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

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

other workstation, qt not installed

你可以看到,trayicon仍然有自己的图标,但是“uac shield icon”消失了...它非常令人不安,我真的不明白,因为这两个图标都是* .png格式,我浏览了很多,也许它与qt图像插件有关(虽然我认为我应该关心它只有当我的图标是* .jpeg,* .gif格式),但是无法使这个解决方案有效...

所以欢迎任何想法。 提前完成。

1 个答案:

答案 0 :(得分:5)

好吧,香港专业教育学院刚刚发布了这个(事实上,我非常接近,但我复制了错误的路径:/)

  1. 找到C:\ QtSDK \ Desktop \ Qt \ 4.8.0 \ mingw \ plugins

  2. 将插件/图像格式复制到您的应用程序文件夹

  3. 打开main.cpp并添加此行代码

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