最近遇到一些项目都包含了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 访问。