0

我有一个使用 Qt 4.8 开发的应用程序(工作正常),现在我正在尝试将其迁移到 Qt 5。我下载并安装了 Qt Creator 2.6.2(使用 Qt 5)但我遇到了一些问题。 .

该程序运行并工作,但它不显示它拥有的任何图标。

我的资源文件带有“/”前缀,并以这种方式调用我的资源,例如:

splash->setPixmap(QPixmap(":/images/xml.png"));

在我的调试项目文件夹中,我有资源文件(icons.qrc),在同一位置有一个名为“images”的文件夹。

这与使用 Qt 4.8 的配置相同,但现在我找不到让图标显示的方法......

我错过了什么????

谢谢。

4

2 回答 2

0

您需要确保您的文件在资源文件中的正确前缀下注册。磁盘上文件所在的文件夹对于在 c++ 代码中加载资源并不重要。

您必须在资源文件中创建前缀“images”(添加 > 添加前缀),然后在此前缀下添加“xml.png”作为文件。如果您选择在文件上设置别名(例如“xml_img”),您的资源将可以通过以下方式加载到您的代码中:

splash->setPixmap(QPixmap(":/images/xml_img"));
于 2013-03-25T14:01:10.813 回答
0

我有同样的问题,我从 Qt 4.6.2 移植到 Qt 5.6.2 ......我发现了这个文件:http ://doc.qt.io/qt-5/qdir.html#Q_INIT_RESOURCE 根据this in Qt5,必须启动所有资源。

所以,它需要在一开始就做好。所以你的“main.cpp”文件应该看起来像这样:

#include "myResource.qrc.cpp"
void myFunction(){
    Q_INIT_RESOURCE(myResource);
}

这似乎对我有用。但是请专门查看文档,看看它是否适合您。

于 2017-10-20T10:18:37.770 回答