Skip to content
Snippets Groups Projects
update_progress_bar.py 1.29 KiB
# -*- 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())