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

问题描述 投票:0回答: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 找到该文件并像普通文本文件一样在编辑器中打开它

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

c++ qt qfile qresource
2个回答
7
投票

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

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

0
投票

伊杜丹 伊杜丹 伊杜丹 伊鲁瓦鲁姆·卡纳·图迪思塔·纳洛 伊杜丹 伊杜丹 伊杜丹 Iruvarum Sera Thuditha Naalo

Vizhi Aadhil Vizhuvenaa 伊尼·乌纳·维杜韦纳 维拉鲁丹·阿达·维拉尔·卡达提亚 卡达拉马拉佩纳

乌丹·瓦鲁维纳 乌伊尔·托杜韦纳 伊莱·努尼伊拉·奥鲁·图利耶纳 塔维克伦·萨里塔纳

Nenaikkum Nodi Ellam 阿鲁吉尔·伊鲁卡努姆 阿鲁吉尔·伊鲁卡·尼 伊鲁基·皮迪卡努姆

Unakkai Maruganum 埃纳库尔·乌鲁加努姆 乌伊尔

Un Manasu 亚当·皮迪基拉·科赞达 宰牲节 南苏曼提达阿萨

尼西丽卡 阿达·埃德胡库·尼·马兰达 Adhu Naan Ketkkum Mellisa

乌纳肯纳·瓦扎 乌伊尔·延古达 尼奈冯德拉 恩奈·坦古德哈伊

Edhilum Neeyada 埃杜乌姆·内亚达 波达

伊杜丹 伊杜丹 伊杜丹 伊鲁瓦鲁姆·卡纳·图迪思塔·纳洛 伊杜丹 伊杜丹 伊杜丹 Iruvarum Sera Thuditha Naalo

Nenaikkum Nodi Ellam 阿鲁吉尔·伊鲁卡努姆 阿鲁吉尔·伊鲁卡·尼 伊鲁基·皮迪卡努姆

© www.soinside.com 2019 - 2024. All rights reserved.