SuperAPI AI 工具集

qt-resources

设计与创作

查看项目

更新于 10-15 23:48

技能介绍

用途:面向 Qt(Python 绑定)项目,说明如何用 Qt 资源系统把图标、图片、样式表、配置等静态素材打包进应用,避免依赖外部文件路径。

主要能力:

  1. .qrc 文件格式:用 <RCC> 与 <qresource prefix> 组织资源,<file> 指定文件,alias 设置运行时名称;.qrc 内路径相对该文件位置。
  2. 编译资源:PySide6 用 pyside6-rcc resources/resources.qrc -o src/myapp/resources/rc_resources.py;PyQt6 用 pyrcc6 resources/resources.qrc -o src/myapp/resources/rc_resources.py。
  3. 运行时加载:用 :/ 前缀路径,如 QIcon(":/icons/save.svg")、QPixmap(":/icons/app.png");文本文件(主题、配置)用 QFile 与 QTextStream 读取。
  4. 免编译内联加载:小素材可用 base64 与 QPixmap.loadFromData 直接嵌入。
  5. SVG 与高 DPI:优先用 SVG;栅格图标可提供 @2x 变体,Qt 在高 DPI 屏自动选择;可设置 QT_ENABLE_HIGHDPI_SCALING 与 PassThrough 舍入策略。
  6. 构建自动化:在 pyproject.toml 的 hatch 构建钩子或 Makefile 中调用 rcc 命令,保持资源同步。

使用方式:先编写 .qrc,再编译为 Python 模块,并在使用 :/ 路径前导入该模块(如在 resources/init.py 中做副作用导入)。

适用场景:需要将图标、图片、QSS 主题、默认配置等随应用分发的 Qt/PySide6/PyQt6 项目。

限制:资料未提供具体版本兼容性、性能数据或平台差异细节;编译命令与导入顺序需按项目实际调整。