'Set the current progress bar to `value`.
Parameters
value : float
Progress value.
processEvents : Optional[QEventLoop.ProcessEventsFlags]
If present then `QApplication.processEvents(processEvents)`
will be called. Passing any value here is highly discouraged.
It is up to the client to handle the consequences of such action.
.. versionchanged:: 3.4.2
Deprecated and changed default `processEvents` value.'

def progressBarSet(self, value, processEvents=None):

    old = self.__progressBarValue
    self.__progressBarValue = value
    if (value > 0):
        if (self.__progressState != 1):
            warnings.warn('progressBarSet()    called    without    a    preceding    progressBarInit()', stacklevel=2)
            self.__progressState = 1
            self.processingStateChanged.emit(1)
        usedTime = max(1, (time.time() - self.startTime))
        totalTime = ((100.0 * usedTime) / value)
        remainingTime = max(0, int((totalTime - usedTime)))
        hrs = (remainingTime // 3600)
        mins = ((remainingTime % 3600) // 60)
        secs = (remainingTime % 60)
        if (hrs > 0):
            text = '{}:{:02}:{:02}'.format(hrs, mins, secs)
        else:
            text = '{}:{}:{:02}'.format(hrs, mins, secs)
        self.setWindowTitle('{}    ({:d}%,    ETA:    {})'.format(self.captionTitle, int(value), text))
    else:
        self.setWindowTitle((self.captionTitle + '    (0%    complete)'))
    if (old != value):
        self.progressBarValueChanged.emit(value)
    if ((processEvents is not None) and (processEvents is not False)):
        qApp.processEvents(processEvents)
