PyQt5 リソース管理
1.qrcファイル
pyqt は、
qrc 文件
ソフトウェア内のリソース ファイル (アイコン ファイル、翻訳ファイルなど) を管理するために使用されます。qrcファイルの記述形式は以下のとおりです。
<RCC version="1.0">
<qresource prefix="images">
<file alias="logo">Resources/images/icon.ico</file>
</qresource>
</RCC>
2. 直接見積もり
icon = QIcon("Resources/images/icon.ico")
3. pyrcc5 は、qrc ファイルから py ファイルへの参照を生成します。
3.1 QRC を Python に変換する
pyrcc5 resources.qrc -o resources.py
または
生成resources.py文件
:
qt_resource_data
リソースファイルのコンテンツデータqt_resource_name
リソースファイル名qt_resource_struct
リソース構造
# -*- coding: utf-8 -*-
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.2)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"... ..."
qt_resource_name = b"... ..."
qt_resource_struct_v1 = b"... ..."
qt_resource_struct_v2 = b"... ..."
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:
rcc_version = 2
qt_resource_struct = qt_resource_struct_v2
def qInitResources():
QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
def qCleanupResources():
QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
qInitResources()
3.2 コードリファレンス
インポート
resources.py文件
リソースパス::/【prefix】/【alias】
またはどちらも設定されていない:/【文件名称包含后缀】
icon = QIcon(":/images/logo") #一种情况有问题,需要配置prefix、alias