[转] 解析Qt资源文件使用
解析Qt资源文件使用
转自:http://mobile.51cto.com/symbian-270121.htm
本文详细的介绍了Qt文件的使用,和大部分GUI框架设计工具一样,Qt也引入了资源文件系统。用于方便地将一些二进制文件(主要是图片文件)编译进可执行程序中,免去再发布应用的时候附带其他文件的麻烦。
本文介绍的是Qt资源文件使用,和大部分GUI框架设计工具一样,Qt也引入了资源文件系统。用于方便地将一些二进制文件(主要是图片文件)编译进可执行程序中,免去再发布应用的时候附带其他文件的麻烦。
Qt的资源文件
是以.qrc为后缀名的XML文本格式。在Qt工程中使用资源文件的话,需要在.pro工程文件加入如下代码
- RESOURCES = file.qrc
在工程文件中加入这样语句后,qmake系统会自动调用RCC(资源文件编译器)将file.qrc转化成qrc_file.cpp,最后使用gcc进行正常的编译。
资源文件的基本格式
来看一个简单的.qrc例子
- images/copy.png
- images/cut.png
- images/new.png
- images/open.png
- images/paste.png
- images/save.png
主要部分和之间的代码,其它部分拷贝过来就可以了,这里的”images /”是相对于你资源文件的路径,和资源文件的格式没有关系。那么你可以在你的源代码中使用QFile访问它们,在本例子中,因为是图片文件,那么你也可以直接用QImage访问它们,不过前面需要加上前缀”:/”,形式为
- QImage(”:/images/copy.png”);
资源文件的别名
如果你的资源文件比较多,而且放在一个比较深的目录里,可以通过别名简化
- images/cut.png
有了别名后,那么在.cpp文件中可以用别名进行访问
- QImage(”:/cut-img.png”);
资源文件的国际化
有些资源文件可能根据使用语言的不同,而使用不同的资源文件。也可以通过别名加语言选项来实现,我没看代码
- cut.jpg
- cut_fr.jpg
在使用上面资源的.cpp代码中,根据系统LANG的不同,可以通过同一语句QImage(”:/cut.jpg”)而能够访问到不同的资源文件。
小结:Qt资源文件使用内容介绍完了,从资源文件的基本格式到资源文件的格式化,一一详细介绍了QT文件。希望这些内容对你有所帮助,有情况的话,也可以留言。
[转] 解析Qt资源文件使用的更多相关文章
- Qt 资源文件
以下演示如何在Qt Creator使用QIcon加载一张 png 图片: 在工程上点右键,选择“添加新文件…”,在 Qt 分类下选择“Qt 资源文件”: 点击“选择…”按钮,打开“新建 Qt 资源文件 ...
- 如何在Qt资源文件中包含和释放exe等各种类型文件?
操作系统:Windows 10 X64 企业版 Qt: 5.8.0 QtCreater: 4.2.1 刚刚开始学习Qt,不断遇到困难和挑战,前几天在各个QQ群里询问如何在Qt的资源文件中包含和释放ex ...
- Windows下 Qt 资源文件(.qrc)文件 的 编写与应用
最近遇到一些项目都包含了qrc文件,这个是Qt的资源文件,如果在pro文件中不包含的话,在编译的时候会提示找不到相应资源的错误. 下面说一下手动修改pro和编写qrc文件的方法. 我们直接在命令行下执 ...
- VS中无法打开Qt资源文件qrc
问题:双击项目中的qrc文件没反应. 解决方法: 网上搜索的方法说是要,右击->打开方式,添加qrceditor编辑器 但我的项目中Qt Resource Editor已经是默认的了. 那就是q ...
- 使用PULL方式解析XML资源文件下面的xml文件
public class MainActivity extends Activity { private Button btn = null; private List<Map<Strin ...
- (五)qt资源文件
// 规则: :+添加的前缀/+文件名 ui->actionSave_as->setIcon(QIcon(":/new/Image/face.png"));
- QT 资源文件的添加
- Qt 学习之路 2(9):资源文件
Qt 学习之路 2(9):资源文件 豆子 2012年8月31日 Qt 学习之路 2 62条评论 上一章节中我们介绍了如何使用QAction添加动作.其中,我们使用QIcon加载了一张 png ...
- Qt笔记——添加菜单图片/添加资源文件
添加新文件,模板选择Qt分类中的Qt资源文件(Qt Resource File) 先添加前缀,点击"添加"按钮,然后选择"添加前缀",我们这里因为要添加图片,所 ...
随机推荐
- nginx js、css多个请求合并为一个请求(concat模块)
模块介绍 mod_concat模块由淘宝开发,目前已经包含在tengine中,并且淘宝已经在使用这个nginx模块.不过塔暂时没有包含在nginx中.这个模块类似于apache中的modconcat. ...
- PHP一些函数
函数不定参数: func_num_args // 获得参数个数 func_get_args // 获得参数数组 call_user_func('function_name', $parameter) ...
- touch事件学习
window.onload = function(){ var touch = { movetarget : false, touchStart : function (e) { console.lo ...
- zoj 3057 Beans Game 博弈论
思路:三维DP,刚开始用记忆化搜索,MLE…… 后来改为直接预处理所有的情况. 总之就是必败态的后继是必胜态!!! 代码如下: #include<iostream> #include< ...
- hdu 4027 Can you answer these queries? 线段树
线段树+剪枝优化!!! 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #includ ...
- Debian - 设置MYSQL开机启动
设置MYSQL 首先拷贝mysql.server到/etc/init.d目录下命名为mysql # cp /自己的安装目录/mysql/share/mysql/mysql.server /etc/in ...
- linux下文件编码的查看与修改
在Linux中查看文件编码可以通过vim编辑器来查看,在vim命令模式下输入如下命令即可: :set fileencoding //在vim中查看文件编码 如果你只是想查看其它编码格式的文件或者想解决 ...
- hadoop jobhistory解析工具汇总
1. White Elephant是LinkedIn开源的一套Hadoop 作业日志收集器和展示器,使用mapreduce作业解析jobhistory日志,得到每个用户使用的资源情况,并通过网页展示. ...
- updmap-sys failed. Output has been stored in
Ubuntu 12.04升级到Ubuntu 12.04lts的时候,出现错误: Do you want to continue? [Y/n] ySetting up tex-common (4.04) ...
- QT静态编译
Qt静态编译(链接)和动态编译区别 Qt的静态编译译(其实应该叫链接,不是编译),将各模块编译成静态库,这样在编译自己写的Qt程序时,会将这些静态库编译(链接)到你的EXE文件中去的.Qt的动态编译, ...