009-python-GUI编程-PyQt5程序基本结构分析-1

资源:Python-GUI-PyQ5总概述.xmind


一、面向过程版本代码

#0.导入需要的包
rom PyQt5.Qt import *
import sys

#1.创建一个应用程序
app=QApplication(sys.argv)

#2.控件操作:①创建控件②设置控件的尺寸、位置、样式等③添加子控件④处理一些信号、事件
window=QWidget()  
window.setWindowTitle("社会我玲姐,人狠话不多") 
window.resize(500,500)  
window.move(400,200)  
label=QLabel(window) 
label.setText("Hello,Ni Binling!")  
label.move(200,200) 
window.show()  

#3.开始执行应用程序,并进入消息循环
sys.exit(app.exec_()) 

二、解释

(1)解释sys.argv

#我们的代码,执行方式是右击、执行或者使用命令行"python+代码名称"
import sys

#当别人通过命令行启动这个程序的时候,可以设定一种功能(接收命令行传递的参数)来执行不同的业务逻辑
args=sys.argv
print(args)
#返回['C:/Users/Belinda/gui代码/pyqt5/02-PyQt5程序基本结构分析.py']

(2)解释sys.exit()

import sys
sys.exit()

#返回Process finished with exit code 0
#0是退出码,表示退出成功;如若没有退出成功,就不会出现0

(3)解释app=QApplication(sys.argv)

一个PyQt程序都需要一个应用程序对象,它包含主事件循环(消息循环,具体解释见(4)),在其中来自窗口系统和其它资源的所有事件被处理和调度;它也处理应用程序的初始化和结束,并且提供对话管理;它也处理绝大多数系统范围和应用程序范围的设置。

from PyQt5.Qt import *
import sys
app=QApplication(sys.argv)  #局部变量app
print(app.arguments())
print(qApp.arguments())  #全局变量qApp



#返回如下,内容一样
#['C:/Users/Belinda/gui代码/pyqt5/02-PyQt5程序基本结构分析.py']
#['C:/Users/Belinda/gui代码/pyqt5/02-PyQt5程序基本结构分析.py']

(4)解释app.exec_()

①让整个程序开始执行,并且进入到消息循环(就是一个无限循环的过程),不然窗口就会一闪而过

②消息:检测整个程序所接受到的用户的交互信息(比如检测用户是否在控件上点击按钮,然后处理)

(5)解释sys.exit(app.exec_())

先执行app.exec_()进行消息循环;如果用户点击关闭控件,sys.exit()就会返回退出的原因

发布了16 篇原创文章 · 获赞 4 · 访问量 2290

猜你喜欢

转载自blog.csdn.net/qq_40078031/article/details/104242597