在sys.exit()之外的pyqt应用程序上调用exec_()

时间:2014-08-04 14:54:41

标签: python python-2.7 user-interface pyqt

app = QtGui.QApplication(sys.argv)
# some code
app.exec_()
sys.exit()

OR

sys.exit(app.exec_()) # This is how it is given in the zetcode tutorial.

两者有什么区别?

1 个答案:

答案 0 :(得分:3)

唯一的区别是,在第二个版本中,app.exec_()的返回值作为参数传递给sys.exit(),它将成为应用程序的退出代码。如上所述in the Python docs

  

<强> sys.exit([参数])

     

可选参数arg可以是给出退出状态的整数   (默认为零)或其他类型的对象。如果是整数,   零被认为是“成功终止”,任何非零值都是   被贝壳等认为是“异常终止”。

如果您不关心反映事件循环退出状态的应用程序的退出代码,则无需执行此操作。我会说这样做是一个很好的做法,因为如果你没有提高返回值,你可能会无意中掩盖你的程序异常退出的事实。