QT资源文件-QFile Write/WriteOnly/ReadWrite打开失败说明

前言

在使用QT进行开发过程中,常常会使用qrc(资源文件),比如一些配置文件,图片,图标(icon)等,但是一些没有经验的小伙伴会想着将配置文件的数据进行修改,发现无法以代码的方式对资源文件进行修改。

代码说明

#include <QCoreApplication>
#include <QtDebug>
#include <QFile>
#include <QIODevice>

int main(int argc, char *argv[])
{
    QFile file(":/config/1.xml");//1.xml是资源文件目录config下的文件
    qDebug() << "file_exist:" << file.exists(); //假如资源文件存在,返回 true
     bool b_open = file.open(QIODevice::WriteOnly);//返回false
    b_open = file.open(QIODevice::ReadOnly);// 返回true
}

结论

QT中,使用QFile能够读取资源文件,但是不能以写的方式打开文件,因为资源文件(路径以“:”和普通文件区别)一般都是作为只读的形式存在,如果想操作资源文件,那么路径就不要以":"开头,这样QT就会将该文件当做普通文件,就可以对该文件进行读写操作了。


版权声明:本文为abcd552191868原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。