PyQt的新手。有人可以向我解释为什么我们这样做:
sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
代替:
app.exec_()
sys.exit()
Run Code Online (Sandbox Code Playgroud)
我已经尝试过,并且都可以。问题2:我认为sys.exit(n)使用参数n作为退出状态。在sys.exit(app.exec_())的情况下,为什么执行app.exec_()?sys.exit()中的参数是否在系统终止应用程序之前执行?我想在这种情况下,我可能对“事件顺序”感到困惑。有人可以帮我澄清一下吗?谢谢。
小智 5
这似乎可以回答您的问题,但有点令人困惑,因此我将尝试重新措辞。在pyqt中将sys.exit()与app.exec_一起使用
app.exec_()0如果成功则返回成功或错误消息
sys.exit(n)将值返回n给父进程(通常是您的shell)
因此,如果您分别调用它们而导致app.exec_()崩溃,则Shell将永远不会收到错误代码。
因此,专门回答您的“问题2”,是的,首先调用内部函数。
这将产生相同的结果:
status = app.exec_()
sys.exit(status)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1229 次 |
| 最近记录: |