Qt工程分组中,除了Headers
、Sources
、Forms
外,还有一个文件夹Resources
,只有当工程中有图片、音频等资源文件时才会用到。
首先将资源文件存放到工程目录下的文件夹中,然后添加.qrc
文件,方法如下:
在工程目录右键–>选择Add New
选择Qt–>Qt Resource File,然后点击Choose…
然后可以自定义文件名和路径,点击Next>
然后可以选择要添加到的工程和使用的版本控制工具,这里默认,然后点击Finish
然后,工程目录中就会出现Resources
目录和res.qrc
文件,点击Add Prefix
添加前缀
Qt通过前缀对资源文件分类,如有需要用户可以自定义前缀名称,如不需要分类可以修改前缀为/
,然后点击Add Files
添加资源文件
找到工程目录下的资源文件位置,全选导入,再构建一下(点右下角那个小锤子),就可以在Resources
目录下看到这些文件了,如下图:
其中.qrc
文件存储的是资源文件的相对路径,.qrc
文件格式如下:
1 <RCC>
2 <qresource prefix="/">
3 <file>res/742c.png</file>
4 <file>res/20220918143827.png</file>
5 <file>res/Einstein.png</file>
6 <file>res/icon.png</file>
7 </qresource>
8 </RCC>
使用资源文件时输入的路径格式为“:/res/icon.png”
,其中:
后面是前缀+文件相对路径,比如为按钮添加背景图片:
toolBtn->setIcon(QIcon(":/res/icon.png"));
如果需要对资源文件进行分类,上面点击Add Prefix
添加前缀那一步,可以填写自定义的前缀名称,点击一次Add Prefix
添加一个前缀(分类),然后把对应的文件添加进去,再构建一下就可以了。
其中.qrc
文件内容如下:
1 <RCC>
2 <qresource prefix="/first">
3 <file>res/742c.png</file>
4 <file>res/20220918143827.png</file>
5 </qresource>
6 <qresource prefix="/second">
7 <file>res/Einstein.png</file>
8 <file>res/icon.png</file>
9 </qresource>
10 </RCC>
这时icon.png
文件的路径就变为:/second/res/icon.png
了。
小建议
获取文件路径,建议在Resources
目录下对应的资源文件上右键,选择Copy Path
复制: