Python Qt GUI与数据可视化编程王维波 ISBN:9787115514165

王维波 2023年10月4日14:29:03
评论
362

Python Qt GUI与数据可视化编程

书籍作者:王维波

ISBN:9787115514165

书籍语言:简体中文

连载状态:全集

电子书格式:pdf,txt,epub,mobi,azw3

下载次数:9133

运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板

内容简介

本书介绍在Python中使用PyQt5和其他模块进行GUI和数据可视化编程的方法。第一部分介绍PyQt5设计GUI程序的基本框架,包括GUI应用程序的基本结构、窗体UI可视化设计与窗体业务逻辑的设计、信号与槽的特点和使用等。第二部分介绍GUI程序设计中一些主要功能模块的使用,包括基本界面组件、事件处理、数据库、绘图、多媒体等。第三部分先介绍使用PyQtChart和PyQtDataVisualization进行二维和三维数据可视化设计的方法,再介绍将Matplotlib嵌入PyQt5 GUI应用程序窗口界面中进行数据可视化的编程方法。通过研读本书,读者可以掌握使用PyQt5、PyQtChart、Matplotlib等模块进行GUI应用程序和数据可视化设计的方法。

本书适合具有Python编程基础,并想通过Python设计GUI应用程序或在GUI应用程序中实现数据可视化的读者阅读和参考。

作者简介

王维波

博士,大学教师,从事测控技术与仪器专业相关的工作,主要研究地球物理探测仪器开发、监测数据处理方法和软件开发。著有《Qt 5.9 C++开发指南》一书。

栗宝鹃

博士,科研人员,主要从事地球物理、水下探测、遥感等专业方向的数据处理和图像识别方面的研究工作,在日常工作中常使用Qt和Python解决实际问题。

张晓东

博士,大学教师,从事自动化专业相关的教学工作,研究方向主要是优化算法、最优控制和智能控制。具有丰富的编程经验,善于通过Qt C++和Python的结合提高算法效率。

编辑推荐

PyQt5是Qt 5 C++类库的Python绑定,使用PyQt5可以在Python 中开发专业的GUI 应用程序。本书介绍PyQt5开发Python GUI应用程序的编程方法,还介绍在GUI 程序中嵌入二维和三维数据可视化功能的编程方法,特别是将Matplotlib 嵌入GUI 界面的面向对象编程方法。

本书包含大量完整示例程序,使学习过程具有可跟随性和可操作性,适合具有Python编程基础,需要使用Python设计GUI应用程序,或在GUI应用程序中嵌入数据可视化功能的读者。

本书主要内容包括:

● 基于PyQt5的GUI应用程序的技术框架和工具软件的使用;

● GUI程序设计中常用界面组件和功能模块的使用;

● 使用PyQtChart、PyQtDataVisualization、Matplotlib在GUI程序中嵌入二维和三维数据可视化功能的编程方法。

《Python Qt GUI与数据可视化编程》电子书免费下载

pdf下载
txt下载
epub下载
mobi下载
azw3下载
下载暂时关闭,开启另行通知

目录

目 录

第 一部分 PyQt5开发基础

第 1章 开发环境安装 2

1.1 Python 2

1.1.1 Python 简介 2

1.1.2 Python的下载与安装 2

1.1.3 IDLE的基本使用 3

1.1.4 安装Python包 4

1.2 Qt 5

1.2.1 Qt 简介 5

1.2.2 Qt 的下载与安装 5

1.2.3 Qt的几个工具软件 7

1.2.4 Qt Creator的设置 7

1.3 PyQt5 8

1.3.1 PyQt5简介 8

1.3.2 PyQt5安装 9

1.3.3 在IDLE中开启对PyQt5的代码提示功能 10

第 2章 PyQt5 GUI程序框架 11

2.1 PyQt5 GUI程序的基本框架 11

2.2 使用可视化设计窗体的GUI程序 12

2.2.1 用UI Designer可视化设计窗体 13

2.2.2 将ui文件编译为py文件 16

2.2.3 使用Ui_FormHello类的GUI程序框架 18

2.2.4 界面与逻辑分离的GUI程序框架 19

2.3 信号与槽的使用 23

2.3.1 信号与槽功能概述 23

2.3.2 Qt Creator的使用 23

2.3.3 窗体可视化设计 25

2.3.4 界面组件布局管理 26

2.3.5 组件的信号与内建槽函数的关联 29

2.3.6 PyQt5 GUI项目程序框架 30

2.3.7 为组件的内建信号编写槽函数 35

2.4 自定义信号的使用 39

2.4.1 信号与槽的一些特点和功能 39

2.4.2 自定义信号使用示例 40

2.4.3 使用信号与槽的一些注意事项 43

2.5 资源文件的使用 43

2.5.1 功能概述 43

2.5.2 窗体可视化设计 44

2.5.3 创建和使用资源文件 44

2.5.4 窗体文件和资源文件的编译 45

2.5.5 窗体业务逻辑类的设计 46

2.5.6 为应用程序设置图标 47

2.6 从Qt C++类库到PyQt5 47

2.6.1 帮助信息的查找 47

2.6.2 正确导入模块中的类 49

2.6.3 部分类和接口函数的差异 50

2.6.4 数据类型对应关系 51

2.7 3个单窗体GUI项目模板 52

2.7.1 概述 52

2.7.2 dialogApp项目模板 53

2.7.3 widgetApp项目模板 54

2.7.4 mainWindowApp项目模板 55

2.7.5 使用项目模板和实例源程序 56

2.7.6 在Eric中编辑和运行示例程序 57

第二部分 GUI应用程序设计

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

3.1 数据输入输出 60

3.2 QPushButton 62

3.3 QSlider和QProgressBar 64

3.4 日期时间数据 66

3.4.1 日期时间类和界面组件 66

3.4.2 日期时间数据的获取并转换为字符串 67

3.4.3 字符串转换为日期时间 68

3.4.4 QLineEdit的inputMask 68

3.5 定时器QTimer 69

3.6 下拉列表框QComboBox 70

3.6.1 QComboBox功能概述 70

3.6.2 简单的ComboBox操作 71

3.6.3 带用户数据的ComboBox 72

3.6.4 QComboBox常用函数总结 73

3.7 QMainWindow与QAction 73

3.7.1 功能简介 73

3.7.2 窗体可视化设计 75

3.7.3 界面操作功能的代码实现 77

3.8 QListWidget和QToolButton 80

3.8.1 功能概述 80

3.8.2 窗体可视化设计 81

3.8.3 QToolButton与下拉式菜单 84

3.8.4 QListWidget的操作 85

3.8.5 创建右键快捷菜单 88

3.9 QTreeWidget和QDockWidget 88

3.9.1 功能概述 88

3.9.2 窗体可视化设计 90

3.9.3 QTreeWidget操作 91

3.9.4 QLabel和QPixmap显示图片 96

3.9.5 QDockWidget的操作 97

3.10 QTableWidget 98

3.10.1 QTableWidget概述 98

3.10.2 窗体设计与初始化 99

3.10.3 QTableWidget操作 100

3.11 容器类组件与布局设计 105

3.11.1 QGroupBox组件与水平布局 106

3.11.2 布局的layoutStretch属性 106

3.11.3 网格状布局 107

3.11.4 分割条 108

第4章 Model/View结构 109

4.1 Model/View结构 109

4.1.1 Model/View结构基本原理 109

4.1.2 Model(数据模型) 110

4.1.3 View(视图) 111

4.1.4 Delegate(代理) 111

4.1.5 Model/View结构的一些概念 112

4.2 QFileSystemModel 114

4.2.1 QFileSystemModel类的基本功能 114

4.2.2 QFileSystemModel的使用 114

4.3 QStringListModel 116

4.3.1 QStringListModel功能概述 116

4.3.2 QStringListModel的使用 116

4.4 QStandardItemModel 119

4.4.1 功能概述 119

4.4.2 界面设计 120

4.4.3 QStandardItemModel的使用 120

4.5 自定义代理 128

4.5.1 自定义代理的功能 128

4.5.2 自定义代理类的基本设计要求 128

4.5.3 基于QDoubleSpinBox的自定义代理类 129

4.5.4 基于QComboBox的自定义代理类 130

4.5.5 自定义代理类的使用 131

第5章 事件处理 133

5.1 默认事件处理 133

5.1.1 应用程序的事件循环 133

5.1.2 事件类型与默认的事件处理函数 133

5.1.3 事件与信号的关系 137

5.2 事件拦截与事件过滤 139

5.2.1 event()函数的作用 139

5.2.2 事件过滤器 140

5.2.3 事件队列的及时处理 141

5.3 拖放事件与拖放操作 142

5.3.1 拖放操作相关事件 142

5.3.2 外部文件拖放操作示例 143

5.4 具有拖放操作功能的组件 146

5.4.1 功能概述 146

5.4.2 界面设计与初始化 147

5.4.3 拖放操作属性的显示 148

5.4.4 拖放属性的设置 149

5.4.5 通过事件过滤器实现项的删除 150

第6章 对话框与多窗口设计 151

6.1 标准对话框 151

6.1.1 概述 151

6.1.2 QFileDialog对话框 152

6.1.3 QColorDialog对话框 154

6.1.4 QFontDialog对话框 154

6.1.5 QProgressDialog对话框 155

6.1.6 QInputDialog输入对话框 156

6.1.7 QMessageBox消息对话框 157

6.2 自定义对话框及其使用 159

6.2.1 对话框的不同调用方式 159

6.2.2 示例项目的文件组成 160

6.2.3 主窗口的设计与初始化 161

6.2.4 对话框QmyDialogSize的创建和使用 163

6.2.5 对话框QmyDialogHeaders的创建和使用 165

6.2.6 对话框QmyDialogLocate的创建和使用 166

6.3 多窗口应用程序 170

6.3.1 主要的窗体类及其用途 170

6.3.2 窗体类重要特性的设置 170

6.3.3 多窗口应用程序设计示例 172

6.4 MDI应用程序设计 179

6.4.1 MDI简介 179

6.4.2 文档窗体类QmyFormDoc的设计 180

6.4.3 主窗口设计与子窗口的使用 181

第7章 数据库 185

7.1 Qt SQL模块概述 185

7.1.1 Qt SQL支持的数据库 185

7.1.2 SQLite数据库 185

7.1.3 Qt SQL模块的主要类 187

7.2 QSqlTableModel的使用 188

7.2.1 功能概述 188

7.2.2 窗体可视化设计 190

7.2.3 窗体业务逻辑类的设计和初始化 190

7.2.4 打开数据库和数据表 191

7.2.5 添加、插入与删除记录 197

7.2.6 保存与取消修改 198

7.2.7 设置和清除照片 199

7.2.8 数据记录的遍历 199

7.2.9 记录的排序 200

7.2.10 记录的过滤 200

7.3 QSqlQueryModel的使用 201

7.3.1 QSqlQueryModel功能概述 201

7.3.2 窗体业务逻辑类的设计和初始化 202

7.3.3 打开数据库和查询数据 202

7.3.4 记录移动 205

7.4 QSqlQuery的使用 206

7.4.1 QSqlQuery基本用法 206

7.4.2 QSqlQueryModel和QSqlQuery联合使用 207

7.5 QSqlRelationalTableModel的使用 215

7.5.1 关系数据表和示例功能 215

7.5.2 关系数据模型功能实现 216

第8章 绘图 219

8.1 QPainter绘图 219

8.1.1 QPainter绘图系统 219

8.1.2 QPen的主要功能 221

8.1.3 QBrush的主要功能 223

8.1.4 渐变填充 224

8.1.5 QPainter绘制基本图形 227

8.2 坐标系统和坐标变换 230

8.2.1 坐标变换函数 230

8.2.2 坐标变换绘图实例 231

8.2.3 视口和窗口 234

8.2.4 绘图叠加的效果 236

8.3 自定义界面组件 237

8.3.1 功能概述 237

8.3.2 自定义QWidget子类QmyBattery 237

8.3.3 QmyBattery类的使用 239

8.4 Graphics View绘图架构 241

8.4.1 场景、视图与图形项 241

8.4.2 Graphics View的坐标系统 242

8.4.3 Graphics View相关的类 243

8.4.4 Graphics View程序基本结构 246

8.4.5 Graphics View绘图程序示例 250

第9章 文件 261

9.1 文件操作相关类概述 261

9.1.1 文件操作接口类QFile 261

9.1.2 文件流操作类QTextStream和QDataStream 262

9.1.3 目录和文件操作相关的类 262

9.2 文本文件读写 263

9.2.1 功能概述 263

9.2.2 QFile读写文本文件 263

9.2.3 QFile和QTextStream结合读写文本文件 266

9.2.4 Python内建函数读写文本文件 268

9.3 二进制文件读写 269

9.3.1 基础知识和工具软件 269

9.3.2 QDataStream功能概述 271

9.3.3 QDataStream流化数据读写 272

9.3.4 QDataStream原始数据读写 281

9.4 目录和文件操作 288

9.4.1 目录和文件操作相关的类 288

9.4.2 示例功能概述 288

9.4.3 QFile类 290

9.4.4 QFileInfo类 291

9.4.5 QDir类 292

9.4.6 QFileSystemWatcher类 294

第 10章 多媒体 297

10.1 PyQt5多媒体模块功能概述 297

10.2 音频播放 298

10.2.1 使用QMediaPlayer播放音乐文件 298

10.2.2 使用QSoundEffect和QSound播放音效文件 303

10.3 音频输入 304

10.3.1 使用QAudioRecorder录制音频 304

10.3.2 使用QAudioInput获取音频输入 310

10.4 视频播放 317

10.4.1 在QVideoWidget上显示视频 317

10.4.2 在QGraphicsVideoItem上播放视频 321

10.5 摄像头的使用 322

10.5.1 摄像头操作概述 322

10.5.2 示例功能和界面可视化设计 324

10.5.3 使用摄像头拍照 324

10.5.4 使用QMediaRecorder通过摄像头录像 328

第 11章 GUI设计增强技术 329

11.1 多语言界面 329

11.1.1 多语言界面设计概述 329

11.1.2 多语言界面设计示例 331

11.2 QSS定制界面 336

11.2.1 Qt样式表的作用 336

11.2.2 Qt样式表句法 337

11.2.3 Qt样式表的使用 342

第三部分 数据可视化

第 12章 PyQtChart二维绘图 346

12.1 PyQtChart概述 346

12.1.1 模块安装与基本功能 346

12.1.2 一个简单的PyQtChart绘图程序 347

12.1.3 图表的主要组成部分 348

12.2 QChart绘制折线图 350

12.2.1 示例功能概述与界面设计 350

12.2.2 QPen属性设置对话框设计 351

12.2.3 主窗口业务逻辑类初始化 353

12.2.4 图表各组成部件的属性设置 356

12.3 QChart绘图高级功能 365

12.3.1 功能概述 365

12.3.2 自定义类QmyChartView 366

12.3.3 主窗口可视化设计 368

12.3.4 绘图功能的实现 368

12.4 对数坐标轴和多坐标轴 373

12.4.1 功能概述 373

12.4.2 主窗口可视化设计 374

12.4.3 界面和图表初始化 374

12.4.4 载入数据文件并绘制曲线 375

12.5 饼图和各种柱状图 377

12.5.1 功能概述 377

12.5.2 窗口初始化与数据准备 378

12.5.3 其他界面操作功能的实现 381

12.5.4 柱状图 382

12.5.5 堆叠柱状图 387

12.5.6 百分比柱状图 388

12.5.7 饼图 390

12.6 蜡烛图和日期时间坐标轴 392

12.6.1 功能概述 392

12.6.2 界面和图表初始化 394

12.6.3 绘图功能的实现 395

12.7 区域填充图 399

12.7.1 功能概述 399

12.7.2 界面和图表初始化 400

12.7.3 绘图功能的实现 402

12.8 极坐标图 405

12.8.1 功能概述 405

12.8.2 绘制极坐标图 406

12.8.3 其他功能的实现 408

第 13章 PyQtDataVisualization三维绘图 411

13.1 PyQtDataVisualization模块概述 411

13.1.1 模块安装与导入 411

13.1.2 模块中主要的类 411

13.2 三维柱状图 413

13.2.1 功能概述 413

13.2.2 窗体可视化设计 413

13.2.3 初始化创建三维柱状图 414

13.2.4 其他功能的实现 417

13.3 三维散点图 424

13.3.1 功能概述 424

13.3.2 创建三维散点图 425

13.3.3 散点数据管理 427

13.4 三维曲面图 429

13.4.1 功能概述 429

13.4.2 三维曲面图 429

13.4.3 三维地形图 434

第 14章 Matplotlib数据可视化 437

14.1 Matplotlib的基本用法 437

14.1.1 Matplotlib的安装 437

14.1.2 一个脚本化的绘图程序 438

14.1.3 GUI程序中的Matplotlib绘图 439

14.2 图的主要元素的面向对象操作 443

14.2.1 图的主要组成元素 443

14.2.2 示例程序功能和窗体可视化设计 445

14.2.3 界面创建与初始化绘图 446

14.2.4 Figure对象的操作 450

14.2.5 Axes子图的操作 453

14.2.6 曲线设置 456

14.2.7 x轴和y轴设置 458

14.3 交互操作 464

14.3.1 交互功能概述 464

14.3.2 界面构造与初始化绘图 466

14.3.3 界面其他功能的实现 469

14.3.4 交互事件的处理 469

14.4 典型二维图的绘制 471

14.4.1 自定义绘图组件类QmyFigureCanvas 471

14.4.2 QmyFigureCanvas类的使用 473

14.4.3 直方图 475

14.4.4 填充图 476

14.4.5 饼图 477

14.4.6 火柴杆图 478

14.4.7 极坐标图 480

14.5 三维数据绘图 482

14.5.1 三维数据绘图概述 482

14.5.2 窗体初始化 483

14.5.3 绘制三维图 486

14.5.4 三维数据绘制二维图 487

14.5.5 colormap 488

产品特色

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: