18.13. 创建图形用户界面

学习大纲

  • GUI简介。

  • 使用程序库创建基于GUI的应用程序。

18.13.1. GUI简介

Python有多种GUI框架,本节将介绍PyQt5。PyQt5具有不同的图形组件,也称为对象控件,可以在屏幕上显示并与用户交互。这些组件如下所示。

  • PyQt5 window :PyQt5 window用于创建简单的应用程序窗口。

  • PyQt5 button :PyQt5 button是一个按钮,可以随时单击,并执行对应操作。

  • PyQt5 textbox :PyQt5 textbox控件允许用户输入文本。

  • PyQt5 label :PyQt5 label控件用于显示单行文本或图像。

  • PyQt5 combo box :PyQt5 combo box控件包含一个组合按钮和一个弹出列表。

  • PyQt5 check box :PyQt5 check box控件是一个可以选中或取消选中的选项按钮。

  • PyQt5 radio button :PyQt5 radio button控件是一个可以选中或取消选中的选项按钮。在一组单选按钮中,一次只能选中其中一个按钮。

  • PyQt5 message box :PyQt5 message box控件用于显示消息。

  • PyQt5 menu :PyQt5 menu控件提供了不同的显示选项。

  • PyQt5 table :PyQt5 table控件为应用程序提供标准表显示功能,可以使用多行和多列构建。

  • PyQt5 signals/slots :signals让程序对已发生的事件做出反应,而slot是一个在信号发生时被调用的函数。

  • PyQt5 layouts :PyQt5 layouts由多个控件组成。

有许多PyQt5类可以使用,它们分别在不同的模块中。模块如下所示。

  • QtGuiQtGui 包含事件处理、图形、字体、文本和基本图像处理类。

  • QtWidgetsQtWidgets 包含用于创建桌面式用户界面的类。

  • QtCoreQtCore 包含非GUI的核心功能的类,如时间、目录、文件、流、URL、数据类型、线程和进程等。

  • QtBluetoothQtBluetooth 包含用于连接设备并与之交互的类。

  • QtPositioningQtPositioning 包含用于确定位置的类。

  • QtMultimediaQtMultimedia 包含API和多媒体内容的类。

  • QtNetworkQtNetwork 包含用于网络编程的类。

  • QtWebKitQtWebkit 包含用于Web浏览器实现的类。

  • QtXmlQtXml 包含XML文件类。

  • QtSqlQtSql 包含数据库类。

本章的内容在工作中目前使用不多,使用多的时候再进行扩展。