Qt 资源系统是一个跨平台的资源机制,用于将程序运行时所须要的资源以二进制的形式存储于可执行文件内部。若是你的程序须要加载特定的资源(图标、文本翻译等),那么,将其放置在资源文件中,就不再须要担忧这些文件的丢失。也就是说,若是你将资源以资源文件形式存储,它是会编译到可执行文件内部。编辑器
使用 Qt Creator 能够很方便地建立资源文件。咱们能够在工程上点右键,选择“添加新文件…”,能够在 Qt 分类下找到“Qt 资源文件”:.net
点击“选择…”按钮,打开“新建 Qt 资源文件”对话框。在这里咱们输入资源文件的名字和路径:翻译
点击下一步,选择所须要的版本控制系统,而后直接选择完成。咱们能够在 Qt Creator 的左侧文件列表中看到“资源文件”一项,也就是咱们新建立的资源文件:版本控制
右侧的编辑区有个“添加”,咱们首先须要添加前缀,好比咱们将前缀取名为 images。而后选中这个前缀,继续点击添加文件,能够找到咱们所需添加的文件。这里,咱们选择 Open_Sign_751px_1191333_easyicon.net.png.png 文件。当咱们完成操做以后,Qt Creator 应该是这样子的:code
接下来,咱们还能够添加另外的前缀或者另外的文件。这取决于你的须要。当咱们添加完成以后,咱们能够像前面一章讲解的那样,经过使用 : 开头的路径来找到这个文件。好比,咱们的前缀是 /images,文件是 Open_Sign_751px_1191333_easyicon.netpng,那么就可使用:/images/
Open_Sign_751px_1191333_easyicon.net.png
找到这个文件。图片
这么作带来的一个问题是,若是之后咱们要更改文件名,好比将 Open_Sign_751px_1191333_easyicon.net.png 改为 Open_Sign.png,那么,全部使用了这个名字的路径都须要修改。因此,更好的办法是,咱们给这个文件去一个“别名”,之后就以这个别名来引用这个文件。具体作法是,选中这个文件,添加别名信息:资源
这样,咱们能够直接使用:/images/open_Icon
引用到这个资源,无需关心图片的真实文件名。编译
若是仔细观察,还会看到资源编辑窗口最下方有一个“语言”。这个能够对资源进行国际化。好比咱们新建一个前缀,将语言设置为 fr,再添加一个文件 open_1643px_1201471_easyicon.net.png:文本编辑器
咱们可使用:/images/fr/open_Icon
引用到 open_1643px_1201471_easyicon.net.png 这个文件。这个“语言”的做用是,若是 Qt 发现,本机的本地化信息是 fr 的话(QLocale::system().name()
返回 fr_FR),则使用:/images/fr/open_Icon
这个图片;若是不是,则默认使用:/images/open_Icon
这个。引用
若是咱们使用文本编辑器打开 res.qrc 文件,就会看到一下内容:
咱们能够对比一下,看看 Qt Creator 帮咱们生成的是怎样的 qrc 文件。当咱们编译工程以后,咱们能够在构建目录中找到 qrc_res.cpp 文件,这就是 Qt 将咱们的资源编译成了 C++ 代码。