PyQt5 打包程序包含图片资源

文章目录

1 添加资源文件:

所有文件显示如下
PyQt5 打包程序包含图片资源
images.qrc包含资源文件:

<RCC>
    <qresource prefix="/">
        <file>up.png</file>
        <file>down.png</file>
        <file>left.png</file>
        <file>right.png</file>
		<file>search.png</file>
    </qresource>
</RCC>

2 使用命令生成 images.py:

pyrcc5 -o images.py images.qrc

images.py包含图片的信息。

test.py如下:
将images.py 当模块导入,使用如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5.QtCore import pyqtSignal,QPoint
from PyQt5.QtGui import QIcon
from images import *

class  Demo(QWidget):
    def __init__(self):
        super(Demo, self).__init__()
        self.setWindowTitle("打包工具包含图片资源")
        self.resize(300,300)
        self.mainlayout = QGridLayout(self)
        self.up_btn    = QToolButton( )
        self.up_btn.setIcon(QIcon(":/up.png"))
        self.up_btn.setFixedSize(100,100)

        self.down_btn  = QToolButton()
        self.down_btn.setIcon(QIcon(":/down.png"))
        self.down_btn.setFixedSize(100,100)

        self.left_btn  = QToolButton()
        self.left_btn.setIcon(QIcon(":/left.png"))
        self.left_btn.setFixedSize(100,100)

        self.right_btn = QToolButton()
        self.right_btn.setIcon(QIcon(":/right.png"))
        self.right_btn.setFixedSize(100,100)

        self.mainlayout.addWidget(self.up_btn  ,0,1,1,1)
        self.mainlayout.addWidget(self.left_btn, 1, 0, 1, 1)
        self.mainlayout.addWidget(self.right_btn, 1, 2, 1, 1)
        self.mainlayout.addWidget(self.down_btn, 3, 1, 1, 1)

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    win = Demo()
    win.show()
    sys.exit(app.exec_())

3 pyinstaller 打包

pyinstaller -Fw test.py -i 3.ico

效果如下:
PyQt5 打包程序包含图片资源

上一篇:程序题答案总结


下一篇:挑战学院科创项目——训练自己的数据集(一)