无法打开资源文件

Posted

技术标签:

【中文标题】无法打开资源文件【英文标题】:Cannot open resource file 【发布时间】:2013-04-13 14:59:51 【问题描述】:

这是我的代码:

QFile test("://needle.png"); // also tried :/needle.png :\needle.png :\\needle.png

if(test.open(QFile::ReadOnly)) 
    qDebug() << "yay";
 else 
    qDebug() << "fail";

我的项目文件中有这个:

RESOURCES += Resources.qrc

这是我的 QRC 文件:

<RCC>
    <qresource prefix="/">
        <file>needle.png</file>
    </qresource>
</RCC>

我不断收到失败作为输出。有什么想法吗?

【问题讨论】:

【参考方案1】:

我遇到了完全相同的问题。再次运行 qmake 终于成功了(构建 -> 运行 qmake)。

【讨论】:

我不敢相信,我只需要运行 qmake 就浪费了这么多时间。谢谢!【参考方案2】:

是否有 URL 表示法

QFile test("qrc:///needle.png");

为你工作?

【讨论】:

原来项目已损坏。 我刚刚试用了您的代码,它对我来说效果很好。当然,我用的是QFile test(":/needle.png");。我认为您的代码(如此处发布的那样)是可以的。您的 qrc 和 png 文件在哪里?你的 pro 文件的内容是什么? 看到你的第二条评论太晚了。所以,一切都很好;)【参考方案3】:

我删除了 project.user.pro 文件,重新打开了 QT。它选择了套件并进行了重建。现在工作。

【讨论】:

以上是关于无法打开资源文件的主要内容,如果未能解决你的问题,请参考以下文章

QFile.open 无法打开资源 qrc 中的文件

电脑文件无法打开每次打开它都显示“无法访问!系统资源不足,无法完成请求的服务”

无法打开资源文件,pygame 错误:“FileNotFoundError:没有这样的文件或目录。”

java数据迁移,中文路径个别无法打开啥原因,解决办法是啥

vs2017调试遇到LNK1104无法打开文件“xxxxxxxxxxx.exe”

CompileAssemblyFromSource 返回错误“编译表达式:无法打开 c:\Users\*”以读取 'c:\Users\* 不是有效的 Win32 资源文件