liuliuab1 发表于 2016-12-13 13:55:08

*.qrc 文件 - Qt GUI 框架 xml 格式资源配置文件

*.qrc 文件 - Qt GUI 框架 xml 格式资源配置文件

*.qrc 文件是 xml 格式资源配置文件,与应用程序关联的资源由 *.qrc 文件指定。*.qrc 文件用 XML 格式记录硬盘上的文件和对应的指定资源名称,应用程序通过资源名称来访问资源。
*.qrc 文件中列出的资源文件,是程序源码树的一部分。*.qrc 文件指定的资源文件路径,是 *.qrc 文件所在目录的相对路径。注意:列出资源文件必须位于 *.qrc 文件所在目录或其子目录下。
Qt 资源体系,采用平台独立机制来存储应用程序执行时的二进制文件。这种机制在应用程序需要一些确定文件 (图标或翻译文件等),且又不想冒丢失文件的风险时是有用的。
文件用法
*.qrc 文件内容形式,如下:<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>images/print.png</file>
</qresource>
</RCC>或
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file>translations/i18n_en.qm</file>
    <file>translations/i18n_zh.qm</file>
</qresource>
</RCC>*.qrc 文件指定资源数据可被编译进二进制文件中,因此,应用程序代码可立即访问;也可创建一个二进制资源,稍后在应用程序中登记资源体系的代码中指定。默认情况下,应用程序可以用资源在源码树中的名称加一个 :/ 前缀来访问它。
譬如:QIcon(":/images/print.png"),调用 images 文件夹下的 print.png 文件。
注:若通过添加 qrc 获得文件,则需注意文件中类似 <qresource prefix="/new/prefix" > 之类的前缀,如 QIcon(":/new/prefix/images/print.png")。

也可用 file 标签中的 alias 属性指定,这时可通过:/print-img.png 访问:<!DOCTYPE RCC><RCC version="1.0">
<qresource>
    <file alias="print-img.png">images/print.png</file>
</qresource>
</RCC>
也可在 *.qrc 文件中 qresource 标签 prefix 属性,为 .qrc 文件中的所有资源文件指定一前缀:<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/myresources">
   <file alias="print-img.png">images/print.png</file>
</qresource>
</RCC>
这时,该文件可用 :/myresources/print-img.png 进行访问。
有些资源,像翻译文件、图标,需随用户本地配置而变化。这可在 qresource 标签 lang 属性中,指定一个合适本地化字符串来实现。譬如:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>   
    <file>images/print.png</file>
</qresource>
<qresource lang="zh-TW">
    <file alias="print-img.png">images/print.png</file>
</qresource>
</RCC>如用户的本地化设置是 zh-TW,则 :/print-img.png 就会引用 print.png 图像。对于其他本地化设置,仍使用 images/print.png 引用 print.png 图像。
http://forum.digitser.cn/data/attachment/forum/201605/19/132155fevczeyds5e5y1wy.jpg
长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯

版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。

页: [1]
查看完整版本: *.qrc 文件 - Qt GUI 框架 xml 格式资源配置文件