《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用

第3章  常用界面组件的使用

第2章已经介绍了PyQt5编写GUI应用程序的基本原理,本章将介绍一些常用的GUI界面设计组件的使用。这些常用组件的使用是比较简单的,所以实例程序一般是一次融合了几个组件的使用,而不是逐个的简单介绍。很多编程细节问题在实例中逐步展开进行解释。当然,在实例程序中不可能展现一个组件或类的所有方法,读者在使用中可以通过Qt帮助文档查找某个类的详细信息。

3.1 数据输入输出

介绍QLineEdit,QSpinBox,QDoubleSpinBox作为数据输入输出组件的使用方法。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第1张图片

图3-1 实例Demo3_1运行时界面

3.2 QPushButton

QPushButton有个checkable属性,如果设置为True,这种情况下QPushButton按钮可以当做CheckBox或RadioButton使用。

图3-2是实例Demo3_2运行时界面。最上面一行的三个用于设置文字对齐方式的按钮只能选择一个,类似于QRadioButton组件。中间一行用于设置粗体、斜体、下划线的三个按钮可以切换选中状态,类似于QCheckBox组件。下面的三个QCheckBox组件用于控制下方的一个QLineEdit组件的属性。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第2张图片

图3-2 实例Demo3_2运行时界面

3.3 QSlider和QProgressBar

使用QSlider、QScrollBar、QProgressBar等作为输入或显示组件。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第3张图片

图3-4 实例Demo3_3运行时界面

3.4 日期时间数据

日期时间是经常遇到的数据类型,PyQt5中日期时间相关的类有:

  • QTime:时间数据类型,仅表示时间,如 15:21:13。
  • QDate:日期数据类型,仅表示日期,如2018-5-6。
  • QDateTime:日期时间数据类型,表示日期和时间,如2018-05-23 09:12:43。

PyQt5中有专门用于日期、时间编辑和显示的界面组件,包括:

  • QTimeEdit:编辑和显示时间的组件。
  • QDateEdit:编辑和显示日期的组件。若calendarPopup属性设置为True,运行时右侧按钮变成下拉按钮,单击按钮时出现一个日历选择框,用于在日历上选择日期。
  • QDateTimeEdit:编辑和显示日期时间的组件,也有calendarPopup属性。
  • QCalendarWidget:一个用日历形式选择日期的组件。在日历上点击日期发生变化时发射信号selectionChanged(),可响应此信号读取选择的日期。

实例Demo3_4用于演示这些日期时间相关的类和界面组件的使用,运行时界面如图3-5所示。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第4张图片

图3-5 实例Demo3_4运行时界面

3.5 定时器QTimer

3.6 下拉列表框QComboBox

3.7 QMainWindow与QAction

QMainWindow是主窗口类,可以作为一个应用程序的主窗口,具有主菜单栏、工具栏、状态栏等主窗口常见的界面元素。

QAction是直接从QObejct继承而来的一个类,不是一个可视组件。QAction就是一个实现某些功能的“动作”,可以为其编写槽函数,使用一个QAction对象可以创建菜单项、工具栏按钮,点击菜单项或工具栏按钮就执行了关联的Action的槽函数。

本节的实例Demo3_7主要演示QMainWindow和QAction的使用,程序运行时界面如图3-10所示。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第5张图片

图3-10 实例Demo3_7运行时界面

3.8 QListWidget和QToolButton

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第6张图片

图3-16 实例Demo3_8运行时界面

本实例不仅介绍QListWidget的使用,还包括如下一些功能的实现:

  • 使用QTabWidget设计多页界面,工作区右侧就是一个具有三个页面的TabWidget组件。
  • 使用QToolBox设计分组工具箱,工作区左侧是一个有三个分组的ToolBox组件。
  • 使用分割条(QSplitter)设计可以左右分割的界面,工作区的ToolBox组件和TabWidget组件之间有一个水平分割条,运行时可以分割调整两个组件的大小。
  • 创建Actions,用Actions设计主工具栏。
  • 使用QToolButton按钮,设置与Action关联,设计具有下拉菜单功能的ToolButton按钮,在主工具栏上添加具有下拉菜单的ToolButton按钮。
  • 使用QListWidget,演示如何创建和添加项,为项设置图标和复选框,如何遍历列表进行选择。
  • 介绍QListWidget的主要信号currentItemChanged()的功能,编写响应槽函数。
  • 为ListWidget组件利用已设计的Actions创建自定义快捷菜单。

3.9 QTreeWidget和QDockWidget

本节介绍QTreeWidget、QDockWidget的使用方法,并且结合QLabel的图片显示功能创建一个图片管理器,图3-22是实例Demo3_9运行时界面。

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第7张图片

图3-22实例Demo3_9运行时界面

3.10 QTableWidget

《Python Qt GUI与数据可视化编程》第3章 常用界面组件的使用_第8张图片

图3-26示例Demo3_10运行时界面

实例Demo3_10以QTableWidget为主要组件,介绍QTableWidget一些主要操作的实现。实例运行时的界面如图3-26所示,该实例将介绍以下功能的实现:

  • 设置表格的列数和行数,设置表头的文字、格式等。
  • 初始化表格数据,设置一批实例数据填充到表格里。
  • 为单元格设置图标,复选框,背景色等操作。
  • 插入行、添加行、删除当前行的操作。
  • 遍历表格所有单元格,读取表格内容到一个QPlainTextEdit组件里,表格的一行数据作为一行文本。
  • 表格上选择的当前单元格变化时,在状态栏显示单元格存储的信息。

3.11 容器类组件与布局设计

本节再专门介绍一些典型布局的设计方法和布局设计的一些技巧,再显示实现布局的代码,以便读者对布局设计有更深入的理解。

 

<上一章>                  <回主页>             <下一章>

你可能感兴趣的:(Python,Qt,GUI与数据可视化编程,PyQt5,Python,Qt,GUI与数据可视化编程,PyQt5常用界面组件)