即时开发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
结果效果也如我所料
我可以看到两个图标::托盘图标&amp; uac shield =很棒
但是当我搬到另一个工作站时,会发生一些奇怪的事情
=== Windows XP,用户工作站,未安装QT
你可以看到,trayicon仍然有自己的图标,但是“uac shield icon”消失了...它非常令人不安,我真的不明白,因为这两个图标都是* .png格式,我浏览了很多,也许它与qt图像插件有关(虽然我认为我应该关心它只有当我的图标是* .jpeg,* .gif格式),但是无法使这个解决方案有效...
所以欢迎任何想法。 提前完成。
答案 0 :(得分:5)
好吧,香港专业教育学院刚刚发布了这个(事实上,我非常接近,但我复制了错误的路径:/)
找到C:\ QtSDK \ Desktop \ Qt \ 4.8.0 \ mingw \ plugins
将插件/图像格式复制到您的应用程序文件夹
打开main.cpp并添加此行代码
a.addLibraryPath(QCoreApplication::applicationDirPath ()+"/plugins");
编译,看看你漂亮的图标:)