繁体   English   中英

PyQt4中sys.exit(app.exec_())的必要性是什么?

[英]What is the necessity of sys.exit(app.exec_()) in PyQt4?

我有这段代码,可以正常工作:

import sys
from PyQt4 import QtGui

def main_window():
    app = QtGui.QApplication(sys.argv)
    screen = QtGui.QDesktopWidget().screenGeometry()

    widget = QtGui.QWidget()
    widget.setWindowTitle("Center!")
    widget.setGeometry(200, 100, screen.width() - 400, screen.height() - 200)

    label = QtGui.QLabel(widget)
    label.setText("Center!")
    label.move(widget.frameGeometry().width() / 2, widget.frameGeometry().height() / 2)

    widget.show()
    sys.exit(app.exec_())

if __name__ == "__main__":
    main_window()

现在在我说sys.exit(app.exec_())行中,我也可以说app.exec_() ,两者的工作原理相同。

那么有什么区别,为什么有必要编写sys.exit()呢?

提前致谢。

exec()调用将启动事件循环,并将阻塞直到应用程序退出。 如果设置了退出代码 ,则exec()将在事件循环终止后将其返回。 将此退出代码传递给sys.exit()是一个好习惯-但这并非绝对必要。 如果没有显式调用sys.exit() ,则在执行最后一行代码后,脚本将自动以代码0退出。 通常使用非零退出代码来通知调用过程发生错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM