C ++ / Qt - 无法从qrc文件中打开.txt

时间:2017-09-23 16:14:53

标签: c++ qt qfile qresource

我尝试了很多东西,但他们没有工作。

我正在使用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找到该文件

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

1 个答案:

答案 0 :(得分:2)

您无法打开资源文件进行写入,因为内容嵌入在应用程序二进制文件中。你必须打开它 readonly

QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
    qDebug() << "error: " << file.errorString();
}