如果单独使用下面这个方法
time.sleep(1)
它会等到所有结果都结束了才输出
例如:
while self.endDraw==0:
self.NextDrawBtn()
self.SuiJi()
time.sleep(1)
我这段程序便是在 self.NextDrawBtn()里面控制self.endDraw的,因此可能会执行好几次最后才一起进行绘制页面。
解决办法
分析原因我们可以知道是程序执行过程中循环占用了线程。
因此,我们可以在执行前执行如下语句刷新线程
QApplication.processEvents()
最终代码为
while self.endDraw==0:
self.NextDrawBtn()
self.SuiJi()
QApplication.processEvents()
time.sleep(1)