GUI程序的基本结构
基本结构如下:
# 导入需要的包
from PyQt5.Qt import *
import sys
app = QApplication(sys.argv) #创建一个应用程序(比不可少的)
=============代码主功能模块区=================
#控件操作
#窗口显示
===========================================
#开始执行应用程序,并进入消息循环
sys.exit(app.exec_())
1、必不可少的语句
1) 导入系统包 import sys
2)应用程序:app = QApplication(sys.argv) ,每个GUI都必须有一个应用程序,它是承载GUI的所有事件、消息、功能处理的必备载体。
3)应用程序进入无限消息循环:app.exec_() ——此局代码表示应用程序进入消息循环(主循环,且是无限循环),不要停止。它等价于如下代码:
while True:
pass
我们用一个图来解释一下此句的意思:
我们执行应用程序,显示GUI窗口,如果我们代码中没有这句代码【sys.exit(app.exec_())】,则运行时,上面这个窗口不会一直显示在屏幕上,而是一闪而来。这是因为少了让主程序进入无限主循环。
上图,我们让程序进入主循环,只要我们的鼠标不点击红色框中的任何一个按钮,主程序都不会做出任何反应,若我们鼠标点击×号时,系统会自动给应用程序一个指令(即消息),即app.exec_()的消息响应值。
我们把app.exec_()的消息响应值传给系统sys的退出函数,即sys.exit(),系统收到指令之后,执行退出。