今天手动写.qrc文件。结果build老是提示1个错误,查看compile output 得知是
RCC: Error in '../e5/textedit.qrc': Cannot find file ' images/1.png'
我的qrc是这样的
<RCC>
<qresource>
<file>images/1.png</file>
<file>images/2.png</file>
<file>images/3.png</file>
<file>images/4.png</file>
</qresource>
</RCC>
这里先介绍下qrc.
在qt中,编写gui时用到的很多图片等资源时,qt有个资源机制(resource mechanism).它会将所有的资源文件编译到应用程序的可执行文件中。
使用资源机制的步骤:
1》将资源文件放在源码树中,比如图片文件放在images 文件中,将images文件放在main.cpp等同级目录。
2》建立*.qrc文件,在qtcreator中的工程名上点击右键选择 “add new”后选择“c++ source file”可以直接加入资源文件的同时会修改*.pro文件。如果不用qtcreator的话,则要进行第三步。
3》修改*.pro文件。加入 “RESOURCES += \*.qrc ”
4》编写*.qrc文件,如我上面的例子。
5》在源码中使用资源,引用的路径为“:/images/*”。比如我加入图标时用setIcon(QIcon(":/images/icon.png"))
程序在编译的时候,qt会用rcc程序将*。qrc文件编译成,qrc_*.cpp和相应的头文件。从而供标准的c++编译器使用。
这样就可以在给程序加上图标了。而我的问题就出在第四步,*.qrc文件是一个简单的xml文件,格式一般为
<RCC>
<qresource>
<file>file_path</file>
</qresource>
</RCC>
出于写html的习惯,为了美观,我在file_path的前后加了空格,注意到compile的提示没,他提示我“ images/1.png”找不到因此,这里的file_path和<file>标签之间不可以有空格。问题解决。
在来看看为什么,因为rcc在处理*qrc文件时会把<file>标签中间的全部文字解析为字符串,导致空格也被加了进去。
转载:http://gotajuly.blog.51cto.com/2771348/570647
分享到:
相关推荐
HE-RCC972中文手册pdf,HE-RCC972中文手册
rockbox-rcc-f0061f7-320x480.apk
Qt有自己的资源管理系统,它并不是把资源文件放进.rc中,而是自己做了转换处理,且生成的文件不会被误报,且细看是如何实现的
资料-RCC彻底解析.zip
maven-rcc-1.0-sources.jar
maven-rcc-1.0.jar
资料-RCC手机充电器的设计.zip
资料-RCC设计 反激式变压器计算 3.zip
资料-RCC设计 反激式变压器计算 2.zip
资料-RCC电路短路保护的原理.zip
参考资料-RCC高频开关变压器设计.zip
资料-RCC专利分析.zip
资料-RCC小软件.zip
资料-rcc设计步骤.zip
资料-RCC电路设计.zip
资料-RCC变压器设计.zip
资料-RCC 線路.zip
资源来自pypi官网。 资源全名:carrot-rcc-0.5.0.tar.gz
参考资料-RCC设计详解.zip
资料-RCC线路充电器.zip