对于我的项目,我在.qrc
文件中有pixmaps。我可以看到qrc生成的头文件包含我的pixmaps的名称,它们肯定被编译成二进制文件。但是,图片不会加载(它们在GUI中为空),以及以下代码
QDirIterator it(":", QDirIterator::Subdirectories);
while (it.hasNext()) {
qDebug() << it.next();
}
不输出任何内容。
我尝试制作一个最小的例子,但无法重新创建错误(图像显示)。无论如何,这个例子展示了我如何编译它。见this link here。知道如何找到这个bug吗?
答案 0 :(得分:1)
如果您的qrc在链接到您的应用程序之前被编译到库中,您可能需要在可执行文件中调用Q_INIT_RESOURCE
,通常在main()中。
通常,Qt资源会在启动时自动加载。对于存储在静态库中的资源,某些平台上需要Q_INIT_RESOURCE()宏。
有关Q_INIT_RESOURCE
的更多详情,请参阅QDir documentation。