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文件
qt rcc 使用的更多相关文章
- qt的moc,uic,rcc命令的使用
qt是一个c++的界面库,其特点就是其源码可以跨平台编译,这样在写自己的小工具时可以方便地在windows,mac或linux环境下移植了.在windows下写c++程序当然选vs,在mac下写程序当 ...
- qt之窗口换肤(一个qss的坑:当类属性发现变化时需要重置qss,使用rcc资源文件)
1.相关文章 Qt 资源系统qt的moc,uic,rcc命令的使用 2.概要 毕业两年了,一直使用的是qt界面库来开发程序,使用过vs08.10.13等开发工具,并安装了qt的插件,最近在做客户 ...
- 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 ...
- Qt Resource System Qt资源体系(qrc rcc)
Qt资源体系采用平台独立机制来存储应用程序执行时的二进制文件.这种机制在应用程序需要一些确定的文件(图标.翻译文件等等)而且又不想冒丢失文件的风险时是有用的. 资源体系依赖于 qmake, rcc ( ...
- QT之uic、moc、rcc命令生成相应的cpp文件
1.rcc 生成qrc.cpp文件 2.uic生成ui_*.h,moc生成moc_*.cpp文件
- 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的版本,并且支持 ...
- linux(debian) arm-linux-g++ v4.5.1交叉编译 embedded arm 版本的QtWebkit (browser) 使用qt 4.8.6 版本
最近需要做一个项目 在arm 架构的linux下 没有桌面环境的情况下拉起 有界面的浏览器使用. 考虑用qt 的界面和 qtwebikt 的库去实现这一系列操作. 本文参考: Qt移植到ARM Lin ...
- 【翻译】利用Qt设计师窗体在运行时创建用户界面(Creating a user interface from a Qt Designer form at run-time)
利用Qt设计师窗体在运行时创建用户界面 我们利用Calculator窗体例子中创建的窗体(Form)来展示当一个应用(application)已经生成后,是可以在其运行时产生与例子中相同的用户界面. ...
- window使用qt遇到的坑
1.window上的qt对图片的检测与识别不够完善.往往改了一个ui的背景图片,运行出来显示的却是旧的背景图片. 原因: 由于之前是项目与项目之间整合在一起,然后把ui_*_ui.h的临时文件也放在 ...
随机推荐
- 【NOIP2013】Day2不完全题解+代码
T1 直接递归区间,从1-n开始,找到这个区间中的最小值然后将区间里的所有值都减去这个最小值 以被减去最小值之后的零点为分段分别递归处理即可. #include <algorithm> # ...
- Smail语法
1.数据类型 2.函数: Func-Name (Para-Type1Para-Type2Para-Type3...)Return-Type 注意参数与参数之间没有任何分隔符 3.函数调用: 4.关于s ...
- 长安大学ACM竞赛部
本博客为长安大学ACM竞赛部的公共博客,记录长大ACMer的成长点滴. 开此博客,诸君共勉.
- RelativeLayout各个属性
android:layout_above="@id/xxx" --将控件置于给定ID控件之上 android:layout_below="@id/xxx" ...
- 转载:c# string.Format
C#:STRING.FORMAT数字格式化输出 1.各种常用数字格式化 货币转换 C 或 c(默认小数点后2位.C3后面跟的数字就代表小数后几位) string.Format("{0: ...
- java http url post json
import java.io.IOException; import java.io.InputStream; import java.io.OutputStreamWriter; import ja ...
- CODE[VS]-数的计算-递推-天梯白银
题目描述 Description 我们要求找出具有下列性质数的个数(包含输入的自然数n): 先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理: 1.不作任何处理; 2.在 ...
- asp.net 如何引用dll
这要看你引用dll文件是什么文件,是单纯的类库还是外部或自定义控件dll文件. 如果是类库dll文件,引用的步骤是这样的:在解决方案管理器中,选中要添加引用的项目或网站-右击-添加引用-选择要添加的d ...
- 无线hacking系统—wifislax
简介 官方中文网站: http://wifislax.cn/ WiFiSlax 是在Slax基础上定制出来的,由西班牙开发.它包含了各种各样的安全和诊断工具.该发行主要的成名原因是把各种各样的非官方网 ...
- kuangbin专题一 简单搜索
弱菜做了好久23333333........ 传送门: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=105278#overview A ...