项目要求根据需求生成一个供外部使用的Qt Dll工程,为了避免工程模板被篡改,采用的方式是把所有模板文件以资源的方式添加进入工程中,然后适时的构建出DLL工程。
Qt工程的资源文件是*.qrc文件,我们可直接手动编辑把我们的文件添加进去,例如:
<RCC>
<qresource prefix="Files">
<file>Resource/file1.h</file>
<file>Resource/file1.cpp</file>
<file>Resource/file1.pro</file><file>Resource/Include/include1.h</file>
<file>Resource/Include/include2.h</file>
</qresource>
</RCC>
prefix:指定资源类类型,类型为自定义的
<file>节点:就是添加的各个文件,写文件的相对路径
资源文件编辑完成之后,就要在代码中获取资源了。我们可以直接通过把资源拷贝到指定文件,也可以读取资源文件的内容,作相应的修改,然后在写到指定文件中去,利用的都是QFile
//拷贝资源到指定文件
QString strPrefix = ":/Files/Resource/file1.h"
QFile::copy(strPrefix,strDestFile);
//去读文件内容,修改,保存
QFile f(strPrefix);
f.open(QIODevice::ReadOnly|QIODevice::Text);
QTextStream stream(&f);
QString str = stream.readAll();
f.close();
资源文件的内容读取完成之后,就可以对str修改,然后在利用QFile写入到指定文件了。