*.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 图像。
长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯
版权声明:
本文为独家原创稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。
|