在前一篇文章中,我们已经安装好了PySide6,那么接下来,我们开始第一个“Hello World”程序。
第一个程序
from PySide6.QtWidgets import QApplication, QLabel #1
import sys #2
app = QApplication(sys.argv) #3
label = QLabel("Hello World!") #4
label.show() #5
app.exec() #6
- 我们所有PySide6程序,都首先需要从
PySide6.QtWidgets
中导入QApplication
,QApplication
是PySide6界面编程的入口。 - 导入
sys
仓库,这一步不是必须的。 - 导入
QApplication
后,使用sys.argv
当做参数,实例化QApplication
,创建一个QApplication
的对应app
,注意,QApplication
的参数不是必须的,如果,不需要通过命令行掺入参数,第三行代码可以写成:app = QApplication([])
。 - 实例化
QApplication
以后,实例化QLabel
,这样,我们就创建了一个标签对象,标签是一个容器,可以用来展示文字或图片,在这里,我们用它用来展示文字,我们将Hello World!
当成QLabel
的参数,实际上我们也可以调用QLabel
的setText
方法进行展示文字 - 通过调用
show()
方法使控件可见(默认是隐藏)。 - 最后,我们调用
app.exec()
进入Qt主循环,开始执行Qt代码。
注意:最后一行,我们一般会写成
sys.exit(app.exec)
,那么app.exec
与sys.exit(app.exit)
的区别是什么呢?
app.exec()
在执行完以后会返回一个return code(程序状态码)。这个东西一般用来标识程序是否正常退出(正常退出是0)。如果你直接写app.exec()
那么不管你的程序执行结果是什么,Python程序的return code都会是0。而sys.exit(app.exec())
会把app.exec()
的return code返回给系统,此时系统可以分辨PySIde6是正常退出还是异常崩溃。
总结
- 所有PySide6的程序入口是实例化
QApplication
,创建QApplication
对象 QLabel
是PySide6的组件之一,常用于展示文本和图像app.exec()
导致Python程序无法判断PySide6的执行状态,sys.exit(app.exec())
可以返回PySide6的执行状态,是否时正常退出。