前言
在使用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就会将该文件当做普通文件,就可以对该文件进行读写操作了。