前言
在编写程序的时候经常用到图片来美化应用程序的 UI 界面,除了图片外,还有视频、音频等等其他类型的资源文件。所谓资源文件,即程序可以从中读出需要的各种预先添加好的文件。
Qt 提供了一套管理资源文件的方法,本文介绍如何使用 Qt Creator 管理和使用资源文件
添加资源文件
创建 Qt 资源管理文件
在已有工程上右键,选择「添加新文件…」,在 Qt 分类下找到 Qt Resource File
输入 Qt 资源管理文件的名称(例如 res.qrc),完成创建。Qt Creator 会默认将 res.qrc 存放在项目根目录下,并在工程文件 demo.pro 中添加该资源管理文件
添加资源文件
在资源管理文件 res.qrc 上右键,选择「Open in Editor」,先点击「添加前缀」,再「添加文件」
前缀,用于对资源文件分类管理
使用资源文件
在 Designer 中使用资源文件
按照图形化界面提示,通过鼠标点选即可
在代码中使用资源文件
右键选择「Copy Path “:xxx/xxx/xxx.jpg”」
查看编译后的图片资源路径
若 Qt 项目中添加了一个资源文件 icon.qrc(名称自定义),添加资源文件时,资源文件不在项目根目录下,则通过右键复制资源路径使用,是不能成功的,此时可以通过编译后的文件查看正确路径。
编译输出目录下会存在一个 qrc_icon.cpp 文件。文件中有如下:
static const unsigned char qt_resource_struct[] = {
// :
0x0,0x0,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x1,
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,
// :/update.svg
0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x4,0xbe,
0x0,0x0,0x1,0x89,0x91,0xae,0x8,0xb9,
// :/reset.svg
0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,
0x0,0x0,0x1,0x89,0x91,0xae,0x8,0xb8,
// :/icon.ico
0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0xa,0x10,
0x0,0x0,0x1,0x89,0xcf,0xc,0xd4,0x9e,
// :/send.svg
0x0,0x0,0x0,0x48,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x1e,0x24,
0x0,0x0,0x1,0x89,0x91,0xae,0x8,0xb8,
};
若使用图片资源路径不正确,可从这里查看
>> 注意:建议在项目根目录下,新建一个用来专门管理资源文件的文件夹,这样添加到资源管理文件(.qrc)中,通过右键复制资源路径才能正常使用