为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()

app.exec_()

  • QT的application方法,先执行应用,让应用开始循环运转,直到窗口关闭(手动关闭或遇到异常退出)返回一个状态码。
  • app.exec_()在退出应用窗口后,后面的语句还要执行,即app.exec_()只是结束窗口的进程,而不能结束主进程

sys.exit(状态码)

  • sys.exit()可以直接退出整个线程,sys.exit()后面的语句不执行,类似于return,可以结束程序的所有进程。
  • sys.exit在调用时指明退出码,退出码为0表示正常退出,其他表示非正常退出。
  • 可以根据状态码捕获异常,来做进一步处理,例如打印异常。

如下图所示,点击窗口关闭按钮,窗口退出,输出123,不输出456

app.exec_():运行窗口应用,退出窗口应用进程。

sys.exit():关闭整个程序进程

为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()_第1张图片为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()_第2张图片

 sys.exit()是直接退出主线程,而app.exec_()具备循环执行应用和退出应用的功能。可以直接使用app.exec_(),但若遇到应用程序异常退出,你想判断异常是什么,则使用sys.exit(app.exec_()),适用于交互环境下的图形界面应用。

为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()_第3张图片为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()_第4张图片

 

 打印异常

为什么要使用sys.exit(app.exec_())?为什么不直接使用app.exec_()_第5张图片

 

 

 

你可能感兴趣的:(PYQT5,办公自动化,pyqt)