首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PyQt中sys.exit(app.exec_())的必要性是什么?

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

Stack Overflow用户
提问于 2017-08-04 21:25:45
回答 1查看 8.6K关注 0票数 11

我有这个代码,它工作得很好:

代码语言:javascript
复制
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()呢?

提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-05 03:47:38

exec()调用启动事件循环,并将一直阻塞到应用程序退出。如果是exit code has been setexec()将在事件循环终止后返回它。将此退出代码传递给sys.exit()是一种很好的做法-但这并不是绝对必要的。如果不显式调用sys.exit(),脚本将在执行最后一行代码后自动退出,并显示代码0。非零退出代码通常用于通知调用进程发生了错误。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45508090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档