【PyQt】3步:PyQt5的QApplication类

PyQt5的QApplication类

QApplication类用于管理图形用户界面应用程序的控制流和主要设置,可以说QApplication是PyQt的整个后台管理的命脉。任何一个使用PyQt开发的图形用户界面应用程序,都存在一个QApplication对象。

在PyQt5中,可以通过如下代码载入必需的模块,获得QApplication类。

from PyQt5.QtWidgets import  QApplication

在PyQt的应用程序实例中包含了QApplication类的初始化,通常放在Python脚本的if __name__ == "__main__":  语句后面,类似于放在C的main函数里,作为主程序的入口。因为QApplication对象做了很多初始化,所以它必须在创建窗口之前被创建。

QApplication类还可以处理命令行参数,在QApplication类初始化时,需要引入参数sys.argv。sys.argv是来自命令行的参数列表,Python脚本可以从shell运行,比如用鼠标双击qtSample.py,就启动了一个PyQt应用程序。引入sys.argv后就能让程序从命令行启动,比如在命令行中输入 python qtSample.py,也可以达到同样的效果。

QApplication类的初始化可以参考以下脚本引用。应用程序整体框架为:

if __name__ == "__main__":
	app = QApplication(sys.argv)
	# 界面生成代码 ...

	sys.exit(app.exec_())

sys.exit()函数可以结束一个应用程序,使应用程序在主循环中退出。

QApplication采用事件循环机制,当QApplication初始化后,就进入应用程序的主循环(Main Loop),开始进行事件处理,主循环从窗口系统接收事件,并将这些事件分配到应用程序的控件中。当调用sys.exit()函数时,主循环就会结束。

PyQt5的应用程序是事件驱动的,比如键盘事件、鼠标事件等。在没有任何事件的情况下,应用程序处于睡眠状态。主循环控制应用程序什么时候进入睡眠状态,什么时候被唤醒。

你可能感兴趣的:(PyQt)