есть такой метод

class MyThread(QtCore.QThread):
    def __init__(self, parent=None):
        QtCore.QThread.__init__(self, parent)
        self.value = None
    def run(self):
        self.running = True
        while self.running:
            self.value -= 1
            self.msleep(1)
            self.emit(QtCore.SIGNAL("mysignal(QString)"),
                      "{0}".format(self.value))
    def set_start_value(self, v):
        print v
        self.value = v

метод передаёт сигнал прогрессбару, тот плавно движется
не могу посчитать какое должно быть значение self.value и насколько надо засыпать что бы прогресс работал например 5 секунд
предполлагалось что self.value = 5000
но почему то 5 секунд не получается
помогите посчитать пожалуйста