所有文件显示如下
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>
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_())
pyinstaller -Fw test.py -i 3.ico
效果如下: