我是python新手,我正在努力学习simpy和pyqt5。我正在做一些程序,我想改变标签的颜色在每次迭代,但我不知道为什么它只显示一种颜色。你知道吗
为了改变颜色,首先我提到绿色,然后黑色,但启动程序后,它只显示黑色。有没有什么方法可以连续改变颜色。你知道吗
def carParking(env, name, ps, depart_time, parking_Duration):
yield env.timeout(depart_time)
print("Car %d arrived on station at %d" % (name, env.now))
app.processEvents()
dlg.parkedCars.display(name)
app.processEvents()
dlg.lEnter.setStyleSheet('color: Green')
dlg.lEnter.setStyleSheet('color: Black')
dlg.lEnter.setStyleSheet('color: Green')
time.sleep(0.30)
with ps.request() as req:
yield req
time.sleep(0.30)
print("%d parked at %s" % (name, env.now))
yield env.timeout(parking_Duration)
time.sleep(0.30)
print("%d leaving the Parking Station at %s" % (name, env.now))
dlg.lExit.setStyleSheet('color: Red')
在上面的代码中,您可以看到绿色-黑色-绿色,但它不是这样工作的。它只显示一种绿色。 其余代码如下所示
env = simpy.Environment()
ps = simpy.Resource(env, capacity=5)
def syslot(self):
#a=dlg.parkingSpace.setText(str(float(dlg.nCars.text())))
ab=int(dlg.nCars.text())
for i in range(ab):
a = randint(1, 5)
# dlg.lEnter.setStyleSheet('color: black')
# dlg.lExit.setStyleSheet('color: black')
env.process(carParking(env, i, ps, i * 2, a))
time.sleep(0.10)
print("The parking duration of Car %d is %d" % (i, a))
env.run()
app =QtWidgets.QApplication([])
dlg = uic.loadUi("design.ui")
dlg.visualize.clicked.connect(syslot)
dlg.show()
sys.exit(app.exec_())
请告诉我该怎么做才能连续改变标签的颜色。先谢谢你。你知道吗
因此,用户可以感知到变化,但不能这么快,因为视觉速度很慢,我们的想法是给出一个可感知的时间,例如500毫秒。另一方面,必须在另一个线程中执行循环,以免阻塞GUI并通过信号与GUI通信。你知道吗
综上所述,解决方案是:
相关问题 更多 >
编程相关推荐