Python PyQt5 主要类介绍
- PyQt 5主要类介绍
- QApplication类
总目录跳转
PyQt 5主要类介绍
PyQt5 API拥有620多个类和6000个函数。它是一个跨平台的工具包,可以运行在所有主流的操作系统上,包括Windows、Linux和Mac OS。
主要类 | 类说明 |
QObject | 在类层次结构中是顶部类(Top Class),它是所有PyQt对象的基类。 |
QPaintDevice | 所有可绘制的对象的基类。 |
QApplication | 用于管理图形用户界面应用程序的控制流和主要设置。它包含主要事件循环,对来自窗口系统和其他资源的所有事件进行处理和调度:它也对应用程序的初始化和结束进行处理,并且体用对话管理:还对绝大多系统范围和应用程序范围的设置进行处理。 |
QWidget | 所有用户界面对象的基类。QDialog 类和QFrame 类继承自 QWidget 类,这两个类有自己的子类系统(Sub-Class System)。 |
QFrame | 有框架的窗口控件的基类。它也被用来直接创建没有任何内容的简单框架,但是通常要用到 QHBox 或 QVBox ,因为它们可以自动布置放到框架中的窗口控件。 |
QMainWindow | 提供一个有菜单栏、锚接窗口(如工具栏)和状态栏的主应用程序窗口。 |
QDialog | 最普通的顶级窗口。如果一个窗口控件没有被镶嵌到父窗口控件中,那么该控件就被称为顶级窗口控件。在通常情况下,顶级窗口控件是有框架和标题栏的窗口。在 Qt 中, QMainWindow 和不同的 QDialog 的子类是最普通的顶级窗口。 |
QApplication类
QApplication类用于管理图形用户界面应用程序的控制流和主要设置,可以说QApplication是PyQt的整个后台管理的命脉。任何一个使用PyQt开发的图形用户界面应用程序,都存在一个QApplication对象。
在PyQt中,可以通过如下代码载入必需的模块,获得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 也可以达到同样的效果。
if __name__ == "__main__":
app = QApplication(sys.argv)
# 界面生成代码 ...
sys.exit(app.exec_())
sys.exit() 函数可以结束一个应用程序,使应用程序在主循环中退出。
QApplication 采用事件循环机制,当 QApplication 初始化后,就进入应用程序的主循环(Main Loop),开始进行时间处理,主循环从窗口系统接收事件,并将这些事件分配到应用程序的控件中。当代用 sys.exit() 函数时,主循环就会结束。
PyQt5 的应用程序是事件驱动的, 比如键盘事件、鼠标事件等。在没有任何事情的情况下,应用程序处于休眠状态。主循环控制应用程序什么时候进入休眠状态,什么时候被唤醒。