用途:面向 Qt(Python 绑定)项目,说明如何用 Qt 资源系统把图标、图片、样式表、配置等静态素材打包进应用,避免依赖外部文件路径。
主要能力:
- .qrc 文件格式:用 <RCC> 与 <qresource prefix> 组织资源,<file> 指定文件,alias 设置运行时名称;.qrc 内路径相对该文件位置。
- 编译资源: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。
- 运行时加载:用 :/ 前缀路径,如 QIcon(":/icons/save.svg")、QPixmap(":/icons/app.png");文本文件(主题、配置)用 QFile 与 QTextStream 读取。
- 免编译内联加载:小素材可用 base64 与 QPixmap.loadFromData 直接嵌入。
- SVG 与高 DPI:优先用 SVG;栅格图标可提供 @2x 变体,Qt 在高 DPI 屏自动选择;可设置 QT_ENABLE_HIGHDPI_SCALING 与 PassThrough 舍入策略。
- 构建自动化:在 pyproject.toml 的 hatch 构建钩子或 Makefile 中调用 rcc 命令,保持资源同步。
使用方式:先编写 .qrc,再编译为 Python 模块,并在使用 :/ 路径前导入该模块(如在 resources/init.py 中做副作用导入)。
适用场景:需要将图标、图片、QSS 主题、默认配置等随应用分发的 Qt/PySide6/PyQt6 项目。
限制:资料未提供具体版本兼容性、性能数据或平台差异细节;编译命令与导入顺序需按项目实际调整。