zoukankan      html  css  js  c++  java
  • 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文件

        

      

  • 相关阅读:
    [转] 浅谈 C++ 中的 new/delete 和 new[]/delete[]
    [转] dpkg-deb命令
    [转] 将DOS格式文本文件转换成UNIX格式
    STM32与FreeRTOS实现低功耗
    设置Beyond Compare 为 Git 默认的比较工具
    [转]Linux进程间通信——使用消息队列
    还你一个自由、干净的网络环境
    Linux下的Hello world
    Cortex-M3中C与汇编的交互
    数据结构25:矩阵转置算法(三元组顺序表)
  • 原文地址:https://www.cnblogs.com/aslistener/p/4460107.html
Copyright © 2011-2022 走看看