C++/Qt - 无法从 qrc 文件打开 .txt
C++ / Qt - Cannot Open .txt from qrc file
我尝试了很多东西,但都没有用。
我正在使用 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 在我浏览目录时找到该文件并像普通文本文件一样在编辑器中打开它
感谢您的帮助,对不起我的英语...(编辑功能不允许我在顶部添加大家好,所以我在这里说:))
您无法打开资源文件进行写入,因为内容嵌入在应用程序二进制文件中。你必须打开它 readonly:
QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
qDebug() << "error: " << file.errorString();
}
我尝试了很多东西,但都没有用。
我正在使用 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 在我浏览目录时找到该文件并像普通文本文件一样在编辑器中打开它
感谢您的帮助,对不起我的英语...(编辑功能不允许我在顶部添加大家好,所以我在这里说:))
您无法打开资源文件进行写入,因为内容嵌入在应用程序二进制文件中。你必须打开它 readonly:
QFile file(":/txt/config");
if(!file.open(QIODevice::ReadOnly)) {
qDebug() << "error: " << file.errorString();
}