PyQt怎么捕捉线程的时间,好让进度条平滑的变化?

pyqt程序中使用了进度条,但是进度条并不是平滑的增加的!

class MyThread_Follow(QThread):  # 建立一个任务线程类
    """
    处理跟卖链接的多线程
    无参数,直接调用外部函数
    返回值:当处理代码无异常时,发射一个True信号,否则发送False信号

    """
    signal = pyqtSignal(bool)  # 设置触发信号传递的参数数据类型,这里是字符串
    progressBar_signal = pyqtSignal(int)

    def __init__(self):
        super(MyThread_Follow, self).__init__()

    def run(self):
        try:
            listing_list = get_path(".\\数据\\Listing表\\")
            store_list = get_path(".\\数据\\管理库存表\\")
            age_list = get_path(".\\数据\\库龄表\\")
            status_list = get_path(".\\数据\\销售状态表\\")
            band_list = get_path(".\\数据\\匹配捆绑表\\")

            self.progressBar_signal.emit(10)
            bind = load_bind(band_list[0])
            self.progressBar_signal.emit(20)
            status = load_status(status_list[0])
            self.progressBar_signal.emit(30)
            convert_func(listing_list)
            all_listings = load_all_listing(listing_list)
            self.progressBar_signal.emit(50)
            convert_func(store_list)
            all_stores = load_all_store(store_list)
            self.progressBar_signal.emit(80)
            all_ages = load_all_age(age_list)
            self.progressBar_signal.emit(90)
            result = deal_data(all_listings, all_ages, all_stores, status, bind)
            self.progressBar_signal.emit(95)
            save_data(result)
            self.progressBar_signal.emit(100)

            self.signal.emit(True)
        except:
            logging.error("----------文件读取错误,请核对数据!---------", exc_info=True)
            self.signal.emit(False)

我这里的思路是直接自定义信号,然后返回给进度条组件,导致的问题是当处理数据很费时时,进度条停止了,完成后又突然增加一大截。

我希望的效果是根据处理的时间均匀的分配进度条进度。

pyqt5 在arm linux 安装,有没有建议,谢谢。

如果你有上万个任务要处理,那当然可以每处理完一个,就让进度条增加0.01%
问题是如果你一共只有5个任务,那每处理完一个增加20%就是不可避免的了
除非你进行任务之前就能够知道任务大概多长时间能完,然后用个timer做个假进度
否则,如果任务时间不确定,你怎么知道什么时候该增加进度了呢