Windows下 Qt 资源文件(.qrc)文件 的 编写与应用

时间:2021-03-28 06:12:56

最近遇到一些项目都包含了qrc文件,这个是Qt的资源文件,如果在pro文件中不包含的话,在编译的时候会提示找不到相应资源的错误。

下面说一下手动修改pro和编写qrc文件的方法。

我们直接在命令行下执行qmake –project -o <文件名>.pro 命令,会生成<文件名>.pro文件,然后用文本编辑器打开这个文件:

RESOURCES = test.qrc//添加这句,假设qrc的文件名为test

然后编写test.qrc文件:

<!DOCTYPE RCC><RCC version="1.0">

<qresource>

<file>images/copy.png</file>

<file>images/cut.png</file>

<file>images/document.png</file>

<file>images/icon.png</file>

<file>images/new.png</file>

<file>images/open.png</file>

<file>images/paste.png</file>

<file>images/save.png</file>

</qresource>

</RCC>

然后运行qmake,接着运行nmake命令就可以了。
.qrc 文件中列出的 资源文件 是程序的源码树的一部分。指定的路径是 .qrc 文件所在目录的相对路径。 注意,列出的 资源文件 必须位于 .qrc 文件所在 目录或者其子目录下。

程序中,可以用资源在源码树中的名称加一个  :/ 前缀 来访问它。例如,在程序的源码树中是 images/cut.png 的文件可以通过  :/images/cut.png  来访问。

但也可以用 file 标签中的 alias 属性来指定:

<file alias="cut-img.png">images/cut.png</file>

这时该文件可以通过  :/cut-img.png  来访问。

也可以在 .qrc 文件中用 qresource 标签的 prefix 属性:

它可以为 .qrc 文件中所有文件指定一个前缀:

<qresource prefix="/myresources">

<file alias="cut-img.png">images/cut.png</file>

</qresource>

这时该文件可以用  :/myresources/cut-img.png  访问。