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

ここに画像の説明を挿入します

※その他参考文献

PyQt での qrc/rcc リソース システムの使用 (PySide6-PyQt5)

おすすめ

転載: blog.csdn.net/qq_23452385/article/details/131869979