PyQt新手。有人可以向我解释为什么我们这样做:
sys.exit(app.exec_())
而不是:
app.exec_()
sys.exit()
我已经尝试过并且都工作了。问题2:我认为sys.exit(n)使用参数n作为退出状态。为什么sys.exit(app.exec_())会执行app.exec_()? sys.exit()中的参数是否在系统终止应用程序之前执行?我想也许我对事件的顺序感到困惑"在这种情况下。有人可以为我澄清一下吗?谢谢。
答案 0 :(得分:5)
这似乎回答了你的问题,但有点令人困惑,所以我会试着改写一下。 Using sys.exit() with app.exec_ in pyqt
app.exec_()
返回0
表示成功,如果崩溃则返回错误消息
sys.exit(n)
将值n
返回到父进程(通常是您的shell)
因此,如果您单独调用它们并且app.exec_()
崩溃,则shell永远不会收到错误代码。
回答你的问题2"具体来说,是的,首先调用内部函数。
这会产生相同的结果:
status = app.exec_()
sys.exit(status)