PyQt5 多线程添加进度条

问题:点击<开始>按钮后加载模型计算,pyqt界面卡住等待计算结束。目的是添加进度条,优化用户等待。一开始以为添加进度条加上时钟就行,调试后发现把计算部分写在主界面类里,计算和进度条无法一起进行。
解决:需要把计算部分分离出去另起一个线程。

线程类的结构

以我程序所写的线程类为参考如下

from PyQt5.QtCore import *
class MyCal(QThread):
   #自定义一个信号名
    cal_signal = pyqtSignal(np.ndarray, np.ndarray)  #定义信号返回的数值类型
    #构造函数
    def __init__(self, model, img, parent=None):     #model为传入的模型,img为传入的要处理的图片
        super(MyCal, self).__init__(parent)
        self.work = True
        self.model = model
        self.cam_image = img
    #析构函数
    def __del__(self):
        self.work = False
        self.wait()
    #该线程主程序
    def run(self):
        mask, overley = self.model.predict(self.cam_image)   
        self.cal_signal.emit(mask, overley)          #发射信号,传参数

在主线程界面中调用上面的线程 并 设置进度条时钟

class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent=parent)
        self.ui = Ui_Ma
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值