我为pcba测试开发了一个脚本,它工作得很好。现在我想实现一个非常简单的流程,如下所示:
- 弹出窗口,仅允许用户开始测试
- 在没有任何窗口的情况下运行测试(终端正常)
- 弹出窗口显示测试的通过/未通过结果
我已经在另外两个. py文件中开发了这两个窗口,它们在"独立"运行时没有任何问题。
如果我在脚本中实现这两个,第一个会正常出现,但第二个会打开和关闭得很慢。
测试函数在serial.py
中定义,第一个窗口在infoBox.py
中定义,最后一个窗口在getResult.py
中定义,但不太复杂。
在serial.py
中,我尝试:
import infoBox
import getResult
[...]
def work():
[...]
if __name__ == '__main__':
app1 = QApplication([])
win1 = infoBox.infoBox("""Turn on 24V alim and press OK.""")
win1.show()
app.exec()
[...]
work()
[...]
app2 = QApplication([])
generateWindow(esiti=lst_esiti, info=lst_info) # <------- this calls getResult.getResult class and .show() the widget
win2 = getResult.getResult(lst_esito=lst_esiti, lst_info=lst_info)
win2.show()
app.exec()
因此,当serial.py
被终端搁置时,infoBox示例出现,work()函数执行它必须执行的操作,getResult示例(它有一个OK按钮要关闭)立即关闭。
可能是两个QApplication的定义错误?我尝试了很多,但我无法管理它。
非常感谢。
1条答案
按热度按时间tmb3ates1#
最后我想到了这个。比预期的容易...
解决了打开唯一QApplication并在每次调用子类后调用app.exec()的问题。