2

我尝试了很多东西,但没有奏效。

我正在使用 Qt 5.9.1,我想在 QFile 变量中打开一个 .txt 文件(位于 qrc 文件中),如下所示:

QFile file(":/txt/config");

我也尝试使用

QFile file("qrc:/txt/config"); 

这是 qrc 文件(摘要):

<qresource prefix="/txt">
    <file alias="config">resources/files/config.txt</file>
</qresource>

我的 .pro 确实有INCLUDEPATH += .

我已经尝试过:

Build -> Clean all
Build -> Run qmake
Build -> Build all

它什么也没改变,在每次启动时,我都有这个输出:

QIODevice::read (QFile, ":/txt/config"): device not open

.qrc 中的路径是正确的,当我浏览目录并在编辑器中像普通文本文件一样打开它时,QtCreator 会找到该文件

感谢您的帮助,对不起我的英语......(编辑功能不允许我在顶部添加大家好,所以我在这里说:))

4

1 回答 1

5

您无法打开资源文件进行写入,因为内容嵌入在应用程序二进制文件中。您必须以只读方式打开它:

QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
    qDebug() << "error: " << file.errorString();
}
于 2017-09-23T22:17:15.870 回答