def update(self, next_image: str, value: int, time_left: QTime): self._progress_bar_animation.stop() start_value = self._progress_bar.value() if self._progress_bar_animation.currentValue(): if self._progress_bar_animation.currentValue( ) < self._progress_bar.value(): start_value = self._progress_bar_animation.currentValue() self._progress_bar_animation.setStartValue(start_value) self._progress_bar_animation.setEndValue(value * 10) self._progress_bar_animation.start() self._current_image_label.setText("Image : " + str(value) + "/" + str(self._max_value)) time_left_str = "" if time_left is None: time_left_str = "Estimation..." else: time_left_str = "%dh %dm %ds" % ( time_left.hour(), time_left.minute(), time_left.second()) self._time_label.setText("Temps restant : " + time_left_str) self._next_image_label.setText("Prochaine image : " + next_image) if self._taskbar_button is not None: self._taskbar_button.progress().setValue(value)
def qtime_to_ms(qtime: QTime) -> int: """ exchange milliseconds from QTime type. """ ms = (qtime.hour() * 3600) + (qtime.minute() * 60) + qtime.second() ms *= 1000 # msec 用に1000倍する ms += qtime.msec() return ms
def testQTime(self): time = datetime.time(11, 14, 0, 1000) other = QTime(time) self.assertEqual(time.hour, other.hour()) self.assertEqual(time.minute, other.minute()) self.assertEqual(time.second, other.second()) self.assertEqual(time.microsecond/1000, other.msec()) self.assertEqual(time, other.toPython())
def QTime2ms(QTime): ''' arg QTime return int ''' h = QTime.hour() m = QTime.minute() s = QTime.second() ms = QTime.msec() return h * 3600000 + m * 60000 + s * 1000 + ms