sys.exit(app.exec_())和app.exec_()之间的区别

时间:2014-09-08 07:44:46

标签: python pyqt pyside sys

我正在使用PySide和PyQt进行GUI开发。我一直在使用这些代码来运行GUI应用程序:

app = QApplication(sys.argv)
ex = MyWin()
ex.show()
sys.exit(app.exec_())

无意中我发现如果我只用sys.exit(app.exec_())替换app.exec_(),该程序仍能正常工作并且可以正确退出。 那么这两者有什么区别?我有理由使用sys.exit(app.exec_())吗?

1 个答案:

答案 0 :(得分:1)

当我读到Python documentation时,参数arg可以是一个给出退出状态的整数。因此,app.exec_()的返回可以告诉code exit status。正如QCoreApplication.exit (int returnCode = 0)的文档所述,

  

按照惯例,returnCode为0表示成功,任何非零值表示错误。

因此,原因是告诉Python PyQt的代码退出状态。如果你避免它,程序将立即关闭。