У меня есть проект, над которым я работаю, чтобы запрограммировать «симулятор» лифта. Я использую python и pyqt впервые и испытываю некоторые трудности.
На данный момент у меня есть 2 класса, один класс лифта, другой класс liftUI, который имеет виджет QLCDNumber. У меня настроен класс лифта для отправки текущего этажа и номеров этажей назначения в класс liftUI, поэтому я подумал, что могу просто использовать цикл while, чтобы изменять значение lcd до тех пор, пока текущий этаж и этаж назначения не станут одинаковыми, но зависает и я вынужден закрыться.
Вот код, который у меня есть на данный момент:
def lcdFloorNum(self, floorNum, curFloor):
if floorNum <= curFloor:
while floorNum <= curFloor:
self.ui.floorNumber.setProperty("value", floorNum)
floorNum -= 1
Это только для того момента, когда лифт, очевидно, опускается, я сделаю "подъем", как только это сработает ...
Он получает floorNum и curFloor от другой функции в классе лифта, которая, я уверен, работает нормально. Если я избавлюсь от цикла while, он обновит номер только один раз, а не до конца.
Есть ли лучший код для достижения того, что я хочу, чтобы не заморозить графический интерфейс?