1 添加资源文件:
所有文件显示如下
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
程序运行效果如下: