编程语言
264
资源文件 .qrc
资源文件顾名思义就是一个存储资源的文件,在Qt中引入资源文件好处在于他能提高应用程序的部署效率并且减少一些错误的发生。
在程序编译过程中,添加到资源文件中的文件也会以二进制的形式被打包到可执行程序中,这样这些资源就永远和可执行程序捆绑到一起了,不会出现加载资源却找不到的问题。
虽然资源文件优势很明显,但是它也不是万能的,资源文件中一般添加的都是比较小的资源,比如: 图片,配置文件,MP3等,如果是类似视频这类比较大的文件就不适合放到资源文件中了。
- 比如我们需要给某个窗口设置图标, 代码如下:
// 创建图标对象 QIcon::QIcon(const QString &fileName); // QWidget类的 公共成员函数 void setWindowIcon(const QIcon &icon); // 给窗口设置图标 // 弊端: 发布的 exe 必须要加载 d:\\pic\\1.ico 如果当前主机对应的目录中没有图片, 图标就无法被加载 // 发布 exe 需要额外发布图片, 将其部署到某个目录中 setWindowIcon(QIcon("d:\\pic\\1.ico"));
我们可以使用资源文件解决上述的弊端, 这样发布应用程序的时候直接发布exe就可以, 不需要再额外提供图片了。
介绍一下关于资源文件的创建步骤:
- 资源文件添加完毕之后, 继续给大家介绍资源文件的使用
- 使用
资源编辑器
打开资源文件
- 给资源添加前缀
一个资源文件中可以添加多个前缀, 前缀就是添加的资源在资源文件中的路径, 前缀根据实际需求制定即可, 路径以
/
开头
- 添加文件
前缀添加完毕, 就可以在某个前缀下边添加相关的资源了。
- 弹出以文件选择对话框, 选择资源文件
- 资源文件放到什么地方?
放到和 项目文件 .pro 同一级目录或者更深的目录中
错误的做法: 将资源文件放到 .pro文件的上级目录, 这样资源文件无法被加载到
- 资源文件放到什么地方?
- 可以给添加的资源文件设置别名, 设置别名之后原来的名字就不能使用了
温馨提示:
- 在高版本的QtCreator中, 资源文件名字或者别名不支持中文
- 如果设置了中文会出现编译会报错
- 在此只是演示, 使用过程中需要额外注意该问题
- 如何在程序中使用资源文件中的图片
将项目树中的资源文件节点展开
找到需要使用的资源图片节点, 鼠标右键, 弹出的菜单中选择
Copy Path ...