我尝试了很多东西,但他们没有工作。
我正在使用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找到该文件
感谢您的帮助,对不起我的英语...(编辑功能不允许我在顶部添加你好,所以我在这里说:))
答案 0 :(得分:2)
您无法打开资源文件进行写入,因为内容嵌入在应用程序二进制文件中。你必须打开它 readonly :
QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
qDebug() << "error: " << file.errorString();
}