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转换为py
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