python html5 bootstrap 视频教程

德云社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5883|回复: 0

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

[复制链接]

194

主题

288

帖子

1322

积分

超级版主

Rank: 8Rank: 8

金钱
798
金币
15
威望
0
贡献
0
发表于 2016-12-13 13:55:08 | 显示全部楼层 |阅读模式
AI人工智能 语音助理 人工翻译 教程
*.qrc 文件 - Qt GUI 框架 xml 格式资源配置文件

*.qrc 文件是 xml 格式资源配置文件,与应用程序关联的资源由 *.qrc 文件指定。*.qrc 文件用 XML 格式记录硬盘上的文件和对应的指定资源名称,应用程序通过资源名称来访问资源。


*.qrc 文件中列出的资源文件,是程序源码树的一部分。*.qrc 文件指定的资源文件路径,是 *.qrc 文件所在目录的相对路径。注意:列出资源文件必须位于 *.qrc 文件所在目录或其子目录下


Qt 资源体系,采用平台独立机制来存储应用程序执行时的二进制文件。这种机制在应用程序需要一些确定文件 (图标或翻译文件等),且又不想冒丢失文件的风险时是有用的。


文件用法

*.qrc 文件内容形式,如下:

  1. <!DOCTYPE RCC><RCC version="1.0">
  2. <qresource>
  3.     <file>images/print.png</file>
  4. </qresource>
  5. </RCC>
复制代码


  1. <!DOCTYPE RCC><RCC version="1.0">
  2. <qresource>
  3.     <file>translations/i18n_en.qm</file>
  4.     <file>translations/i18n_zh.qm</file>
  5. </qresource>
  6. </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 访问:

  1. <!DOCTYPE RCC><RCC version="1.0">
  2. <qresource>
  3.     <file alias="print-img.png">images/print.png</file>
  4. </qresource>
  5. </RCC>
复制代码

也可在 *.qrc 文件中 qresource 标签 prefix 属性,为 .qrc 文件中的所有资源文件指定一前缀:

  1. <!DOCTYPE RCC><RCC version="1.0">
  2. <qresource prefix="/myresources">
  3.      <file alias="print-img.png">images/print.png</file>
  4. </qresource>
  5. </RCC>
复制代码

这时,该文件可用 :/myresources/print-img.png 进行访问。


有些资源,像翻译文件、图标,需随用户本地配置而变化。这可在 qresource 标签 lang 属性中,指定一个合适本地化字符串来实现。譬如:

  1. <!DOCTYPE RCC><RCC version="1.0">
  2. <qresource>   
  3.     <file>images/print.png</file>
  4. </qresource>
  5. <qresource lang="zh-TW">
  6.     <file alias="print-img.png">images/print.png</file>
  7. </qresource>
  8. </RCC>
复制代码

如用户的本地化设置是 zh-TW,则 :/print-img.png 就会引用 print.png 图像。对于其他本地化设置,仍使用 images/print.png 引用 print.png 图像。



长按二维码关注 "德云社区" ,点击最下方 "阅读原文" 了解更多资讯

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

AI人工智能 语音助理 人工翻译 教程
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|Sitemap|小黑屋|德云社区 |网站地图  

GMT+8, 2024-11-23 12:09 , Processed in 0.027749 second(s), 27 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

快速回复 返回顶部 返回列表