qt rcc 使用

  做项目的时候, 最初把图片放到 qrc里面, 使用编译生成的qrc_cpp。 但是编译超慢, 还经常提示"编译器空间不足"。 网上很多人说是 中文路径的问题。 可是总是感觉编译器空间 很难跟 路径扯上关系: 最多不识别不添加而已, 怎么会空间不足?

  后来在网上看到一条分析, 编译 一个 几十兆的 cpp 文件, 所需要的内存空间是 10G 以上。 而我生成的qrc 文件,因为高清图片比较多, 大小已经有50多M。 而qrc_cpp文件的内容, 只是把这些图片用二进制去表示, 其实完全不需要用编译器工作。——而我使用编译器编译资源文件, 不仅导致内存严重消耗, 因为编译时间长还浪费了很多时间。

  Qt 提供了一个比较好的机制, QtResource。  使用rcc 把文件保存到 .rcc 文件, 然后使用 qrc 指定 rcc 结构。

  以下为使用rcc的几个注意事项 

  

    1.  qrc 和 rcc 放在同一个目录下。命令一般使用: rcc -binary source.qml -o target.rcc

    2.  添加新文件或者删除文件, 或者进行了其它修改了目录树的操作时, 需要重新生成rcc文件; 文件内容改变则不需要重新编译生成rcc文件。——但是它们都需要重新生成 qrc.cpp 以及 qrc.o 文件。

    3.  在qml中使用rcc的内容, 前缀是 qrc:/ ;   在 Qt 中使用, 前缀是 : 

    4.  在 .qrc 文件中, 可以使用别名简化编码操作——对于那些使用频率比较高的资源。  

    5.  使用  QResource::registerResource 注册rcc文件

    

  

posted @ 2015-04-27 14:22  aslistener  阅读(2715)  评论(0编辑  收藏  举报