赞
踩
如果项目需要打包最好新建一个虚拟环境(不然你的exe文件会占用巨大空间,有时候甚至打包不了后续详细展开)
虚拟环境的安装
# 举个例子 conda create --pyqt_310 python=3.10
QTdesigner界面的认识(一位博主写的特别清晰把链接放下面,小白可以仔细学习一下,虽然我也是小白哈哈哈,常用常新嘛)
[新手界面及控件介绍超链接](PyQt5 Qt Designer 新手教程(一)—— 软件界面介绍-CSDN博客)
进阶一点布局设计(我才用红框垂直和水平布局,因为这种布局在缩放的情况下也能不变形)
垂直和水平布局
首先要写对象名字或类别{;;;}大括号里填属性,“;”前的内容为一个属性如下图所示(红)。
其次可以在大括号里添加背景图片,资源,颜色,边框宽度,等等很多很多。(绿)
tips:背景图的添加需要利用到资源文件下面会详细说明。
self.fileButton_2.clicked.connect(self.open_file)
self.cameraButton_2.clicked.connect(self.chose_cam)
#信号定义
img = pyqtSignal(np.ndarray)
send_fps = pyqtSignal(str) # 这些都是信号 括号里代表当出现这种类型的参数时触发
#信号与槽连接
self.fps.connect(self.show_statistic) # connect槽函数
self.img.connect(lambda x: self.show_image(x, self.video)) # 无参数也要加lambda不然直接运行了
# 触发指令
self.img.emit(im) # im是图像对象
self.fps.emit('30')
#例子 pyuic5 -o win2.py win2.0.ui
当然还有其他方法比如利用externaltool感兴趣可以搜一下。
坑点:“: /”是资源文件的写法,需要将qrc转为py文件看下面,按照我的方法不会出现文件显示不出的现象)还有一种写法就是直接填绝对路径或者相对路径但是这种方法打包起来还要把文件包含进去不推荐。
#例子 pyrcc5 apprcc.qrc -o apprcc_rc.py
class DetThread(QThread): #创建多进程类继承QTread
def __init__(self):
super().__init__()
def run(): #运行多进程
self.det_thread = DetThread() #创建进程对象
self.det_thread.start() #.start开始运行类中给run函数
多文件、多进程一定要用spec文件来打包
生成.spec文件 pyi-makespec 打包.py
# 例子 pyi-makespec main.py
在spec文件中添加文件和文件夹
直接终端 pyinstaller 打包.spec 不要加-F -W啥的都是坑
# 例子 pyinstaller main.spec
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。