0

对于我的项目,我在一个.qrc文件中有像素图。我可以看到 qrc 生成的头文件包含我的像素图的名称,它们肯定被编译成二进制文件。但是,图片没有加载(它们在 GUI 中是空的),并且下面的代码

QDirIterator it(":", QDirIterator::Subdirectories);
while (it.hasNext()) {
    qDebug() << it.next();
}

不输出任何一个。

我试图做一个最小的例子,但无法重新创建错误(图像显示)。无论如何,这个例子展示了我是如何编译它的。在此处查看此链接。知道如何找到这个错误吗?

4

1 回答 1

1

如果你的 qrc 在链接到你的应用程序之前被编译成一个库,你可能需要调用Q_INIT_RESOURCE你的可执行文件,通常在 main() 中。

通常,Qt 资源在启动时会自动加载。对于存储在静态库中的资源,某些平台上需要 Q_INIT_RESOURCE() 宏。

更多细节Q_INIT_RESOURCE可以在QDir 文档中找到。

于 2013-09-28T20:44:01.157 回答