# -*- coding: utf-8 -*- import time from PyQt5.QtCore import QThread, pyqtSignal, QObject class UpdateProgressBar(QThread): progress = pyqtSignal(int) run_time = pyqtSignal(int) def __init__(self): """ Make a new thread instance. :param measure_time: Time to measure spectrum :type measure_time: int """ QThread.__init__(self) def __del__(self): self.wait() def run(self): self.set_start_time() while True: running_time_in_percent = self.time_to_percent() self.progress.emit(running_time_in_percent) self.run_time.emit(float(time.time())-self.start_time) if running_time_in_percent >= 100: # kill thread if 100 % is reached break else: time.sleep(1) def time_to_percent(self): running_time = float(time.time())-self.start_time percent = (running_time/self.measure_time)*100 return int(percent) # Create setter for # def set_measure_time(self, t): """ Set time to measure. """ self.measure_time = t def set_start_time(self): """ Set start time of capture. """ self.start_time = float(time.time())