python将图标转成qrc文件进行使用方法记录

python将图标转成qrc文件进行使用方法

要将图标转成 .qrc 文件并在 PyQt5 中使用,您需要按照以下步骤操作:

1. 创建 .qrc 文件

.qrc 文件是一个 XML 文件,用于定义项目中的资源(如图标、图片、音频等)。您可以手动创建一个 .qrc 文件,也可以使用 Qt Designer 的资源编辑器创建。

假设你已经将图标保存为 icon.png,并将其放在项目的 resources 目录下。

创建一个名为 resources.qrc 的文件,内容如下:

<RCC>
    <qresource prefix="/">
        <file>resources/icon.png</file>
    </qresource>
</RCC>

2. .qrc 文件转换为 Python 代码

使用 pyrcc5 工具将 .qrc 文件转换为 Python 代码。你可以在终端或命令提示符中运行以下命令:

pyrcc5 resources.qrc -o resources_rc.py

这将生成一个名为 resources_rc.py 的文件,你的图标资源将被嵌入其中。

3. 在代码中使用资源

在你的代码中,导入生成的 resources_rc.py 文件,然后使用资源路径来引用图标:

import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvasQTAgg as FigureCanvas, NavigationToolbar2QT as NavigationToolbar
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget, QScrollArea
from PyQt5.QtGui import QIcon  # Import QIcon class
import resources_rc  # Import the generated resource file

import pywt
from scipy.signal import find_peaks, hilbert
from scipy.stats import kurtosis
from scipy.interpolate import UnivariateSpline
from scipy.ndimage import morphology

# 固定随机数种子
np.random.seed(42)

# 定义信号处理类
class SignalProcessingApp(QMainWindow):
    def __init__(self):
        super().__init__()
        self.initUI()
        self.process_signal()  # 在UI初始化后立即处理信号,确保逻辑与无GUI版本一致

    def initUI(self):
        self.setWindowTitle('Signal Processing GUI')

        # 设置窗口图标
        self.setWindowIcon(QIcon(':resources/icon.png'))  # Use resource path

        self.setGeometry(100, 100, 1400, 1600)

        centralWidget = QWidget(self)
        self.setCentralWidget(centralWidget)
        layout = QVBoxLayout(centralWidget)

        # 创建用于显示信号处理过程的Figure和Canvas
        self.figure = plt.figure(figsize=(14, 20))
        self.canvas = FigureCanvas(self.figure)

        # 添加工具栏
        self.toolbar = NavigationToolbar(self.canvas, self)
        layout.addWidget(self.toolbar)  # 将工具栏放在布局中,默认在图片上方
        layout.addWidget(self.canvas)

    # 其余代码...

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = SignalProcessingApp()
    ex.show()
    sys.exit(app.exec_())

4. 运行程序

保存你的 Python 文件并运行。你的图标将通过 .qrc 文件嵌入到应用程序中,确保图标在所有平台上都能正确加载。

这个方法不仅适用于图标,还可以用来加载任何其他资源,如图片和音频文件,使你的应用程序更加便携。

5. 打包程序

Pyinstaller -F -w -i D:/test_Project/images/wave.ico 4_24_1切换界面_其他信息显示.py

或相对图标地址

Pyinstaller -F -w -i .\images\GIS_PD.ico .\3_11_gis_modbusTCPGUI_v5.py
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值