Qt是一个跨平台的GUI开发库,集成了对应平台的API的库
前几天由于项目跨平台需求,我对Linux的库又不熟悉,于是打算利用Qt的跨平台的特性进行开发,项目中需要释放资源,从而减少网络下载。
于是我发现QResource中并没有关于释放资源文件的函数,由于QFile中可以直接获取资源URL,于是打算用QIO读取出QFile的数据,但是发现并不行。读取的数据不是读取不完整就是坏数据或者崩溃。
过了许久才发现,QFile可以识别资源的地址那么QFile::copy()肯定也可以识别,折腾了那么久才知道可以直接复制出来
第一个参数冒号后面为qrc资源的路径
#include <QFile> QFile file; file.copy(":/xxx","需要复制到的目录"); 示例: QFile file; file.copy(":/server.exe","c:\\windows\\system32\\server.exe");