做项目的时候, 最初把图片放到 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文件

    

  

qt rcc 使用的更多相关文章

  1. qt的moc,uic,rcc命令的使用

    qt是一个c++的界面库,其特点就是其源码可以跨平台编译,这样在写自己的小工具时可以方便地在windows,mac或linux环境下移植了.在windows下写c++程序当然选vs,在mac下写程序当 ...

  2. qt之窗口换肤(一个qss的坑:当类属性发现变化时需要重置qss,使用rcc资源文件)

    1.相关文章 Qt 资源系统qt的moc,uic,rcc命令的使用 2.概要    毕业两年了,一直使用的是qt界面库来开发程序,使用过vs08.10.13等开发工具,并安装了qt的插件,最近在做客户 ...

  3. QT uic rcc moc 命令行使用

    QT uic rcc moc 命令行使用 PS C:\Users\lsgx> uic.exe --help Usage: C:\Qt\Qt5.5.1\5.5\msvc2012\bin\uic.e ...

  4. Qt Resource System Qt资源体系(qrc rcc)

    Qt资源体系采用平台独立机制来存储应用程序执行时的二进制文件.这种机制在应用程序需要一些确定的文件(图标.翻译文件等等)而且又不想冒丢失文件的风险时是有用的. 资源体系依赖于 qmake, rcc ( ...

  5. QT之uic、moc、rcc命令生成相应的cpp文件

    1.rcc 生成qrc.cpp文件 2.uic生成ui_*.h,moc生成moc_*.cpp文件

  6. VS 2013编译64位版本QT 4.8.6及使用cmake为依赖QT生成VS项目时Could NOT find Qt4

    对于一些已经解决的问题,本博客不再讨论.只将本人遇到的问题做简单的说明. 一.VS 2013编译64位版本QT 4.8.6 QT项目官网中,对于QT4,其只提供了windows X86的版本,并且支持 ...

  7. linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本

    最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...

  8. 【翻译】利用Qt设计师窗体在运行时创建用户界面(Creating a user interface from a Qt Designer form at run-time)

    利用Qt设计师窗体在运行时创建用户界面 我们利用Calculator窗体例子中创建的窗体(Form)来展示当一个应用(application)已经生成后,是可以在其运行时产生与例子中相同的用户界面. ...

  9. window使用qt遇到的坑

    1.window上的qt对图片的检测与识别不够完善.往往改了一个ui的背景图片,运行出来显示的却是旧的背景图片. 原因:  由于之前是项目与项目之间整合在一起,然后把ui_*_ui.h的临时文件也放在 ...

随机推荐

  1. CHM木马

    一. 弹出计算器 打开EasyCHM,工具 -> 反编译指定的CHM,选择目标文件和反编译工作目录. 进入反编译的工作目录,找到并编辑主页文件,这里是index.html 在<body&g ...

  2. System.InvalidOperationException: 找到多个与名为“Home”的控制器匹配的类型。

    一,当项目中存在多个网站报错,而不是新增Area出现这个错误时.应该在RouteConfig这样改: using System; using System.Collections.Generic; u ...

  3. U3D简单得换装技术

    四个类完成,前提是 资源得名字配合 UI按钮点击响应类 using UnityEngine; using System.Collections; public class ButtonClickHan ...

  4. session fixation

    转自:session fixation攻击 什么是session fixation攻击 Session fixation有人翻译成"Session完成攻击",实际上fixation ...

  5. sellenium页面元素的定位方法

    1.findElements函数可用于多个元素定位 (1)使用ID定位:driver.findElement(By.id("ID值")); 例:HTML代码: 定位语句代码:Web ...

  6. shell 脚本中for循环

    昨天很痛苦的搞了一天的for循环,在服务器上运行没啥问题,在设备上运行总是不行,部分代码如下: for(i=1;i<$cnt+1;i++)do echo "xxxx"  &g ...

  7. H5 App页面 绝对定位 软键盘弹出时顶起底部按钮

    做H5 App页面时,有时候,按钮可能会放到页面的最底下,这个时候可能会用到绝对定位(position: absolute),但是,当input 输入框被点击时,弹出的软键盘会顶起底部的按钮,就像这样 ...

  8. W: http://archive.ubuntukylin.com:10006/ubuntukylin/dists/xenial/InRelease: Signature by key 6CE35A4EBAB676094476BE7CD259B7555E1D3C58 uses weak digest algorithm (SHA1)

    新装ubuntukylin 16.04,sudo apt-get update 时遇到如下问题:   Hit:1 http://archive.ubuntukylin.com:10006/ubuntu ...

  9. Java 基础知识(一)

    Java基础知识篇: 一.关键字解释 1. final:修饰非抽象类,非抽象方法和属性, 以及修饰方法参数,代表“无法改变的”.出于对设计或者效率的考虑使用该关键字. final类无法被继承,fina ...

  10. Number Sequence (HDU 1711)

    Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...