Qt5 Python GUI 编程指南
创建时间:2018-12-10  访问量:5815  7  0

Qt5 Python GUI 编程指南

介绍

我们将学习使用Qt工具箱来创建GUI应用程序。QT工具箱,可以简称为QT,它是一个由Trolltech开发的跨平台的应用与UI框架,用来开发GUI应用程序。它运行在多种平台上,包括Windows,MacOS X,Linux和其它UNIX平台。它有时也被称为一个窗口部件工具箱,因为它提供了如按钮、标签、文本框、切换按钮和列表框等窗口开发部件,这些部件是设计GUI程序所必须要的。它包含了跨平台的类的集合,集成了开发工具和跨平台的IDE。为了创建实时的应用程序,我将使用Qt工具箱的Python绑定版本,也叫作PyQt5。

PyQt

PyQt是一组用于跨平台应用程序框架的Python绑定,它结合了Qt和Python的所有优点。使用PyQt,您可以在Python代码中包含Qt库,使您能够使用Python编写GUI应用程序。换句话说,PyQt 允许您通过Python代码访问Qt提供的所有工具。由于PyQt依赖于要运行的Qt库,因此在安装PyQt时,所需的Qt版本也会自动安装在您的计算机上。

GUI应用程序可以包含具有多个对话框的主窗口或仅包含单个对话框。 一个小的GUI应用程序通常至少包含一个对话框。 对话框应用程序包含按钮。 它不包含菜单栏,工具栏,状态栏或中央窗口小部件,而主窗口应用程序通常具有所有这些部件。

对话框有以下两种类型:

  • Modal:这个对话框阻止用户与应用程序的其他部分进行交互。对话框是应用程序中用户可以交互的惟一部分。在关闭对话框之前,不能访问应用程序的其他部分。

  • Modeless:这个对话框与模态对话框相反。当非模态对话框处于活动状态时,用户可以自由地与对话框和应用程序的其他部分进行交互。

创建GUI应用程序的方法

编写GUI应用程序有以下两种方法:

  • 从头开始,使用一个简单的文本编辑器

  • 使用Qt Designer,一个可视化的设计工具,您可以使用拖放快速创建用户界面

您将使用Qt Designer在PyQt中开发GUI应用程序,因为它是一种快速而简单的设计用户界面的方法,无需编写任何代码。因此,双击桌面上的Qt Designer图标来启动它。

在打开时,Qt Designer要求您为新应用程序选择一个模板,如下图所示:

Qt Designer提供了许多适合不同类型应用程序的模板。您可以选择这些模板中的任何一个,然后单击Create按钮。

Qt Designer为新应用程序提供了以下预定义模板:

  • Dialog with Buttons Bottom:此模板使用右下角的“Ok”和“Cancel”按钮创建一个表单。

  • Dialog with Buttons Right:此模板使用右上角的“Ok”和“Cancel”按钮创建一个表单。

  • Dialog without Buttons:此模板创建一个空窗体,您可以在其上放置窗口小部件。 对话框的超类是QDialog。

  • Main Window:此模板提供了一个主应用程序窗口,其中包含菜单栏和工具栏,如果不需要,可以将其删除。

  • Widget:该模板创建的表单的超类是QWidget而不是QDialog。

每个GUI应用程序都有一个顶级窗口部件,其余的窗口部件称为子窗口。 顶级窗口部件可以是QDialog,QWidget或QMainWindow,具体取决于您需要的模板。 如果要基于对话框模板创建应用程序,则顶级窗口部件或您继承的第一个类将是QDialog。 同样,要创建基于主窗口模板的应用程序,顶级窗口部件将是QMainWindow,并且要基于窗口部件模板创建应用程序,您需要继承QWidget类。 如前所述,用于用户界面的其余小部件称为类的子部件。

Qt Designer在顶部显示菜单栏和工具栏。 它在左侧显示了一个Widget框,其中包含用于开发应用程序的各种小部件,这些小部件是分组显示的。 您所要做的就是从表单中拖放所需的小部件。 您可以在布局中排列小部件,设置其外观,提供初始属性以及将其信号连接到槽。