我有一个项目正在做,我必须对电梯“模拟器”进行编程。我第一次使用 python 和 pyqt 并且遇到了一些困难。目前我有 2 个类,一个是电梯类,另一个是具有 QLCDNumber 小部件的 liftUI 类。我设置了电梯类以将当前楼层和目标楼层号发送到 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 循环,它会更新数字,只更新一次,直到最后。有没有更好的代码来实现我想要的不会冻结 GUI 的东西?