PYTHON QT GUI与数据可视化编程

本书特色

[

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

]

内容简介

[

本书介绍在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开发基础第 1章 开发环境安装 21.1 Python 21.1.1 Python 简介 21.1.2 Python的下载与安装 21.1.3 IDLE的基本使用 31.1.4 安装Python包 41.2 Qt 51.2.1 Qt 简介 51.2.2 Qt 的下载与安装 51.2.3 Qt的几个工具软件 71.2.4 Qt Creator的设置 71.3 PyQt5 81.3.1 PyQt5简介 81.3.2 PyQt5安装 91.3.3 在IDLE中开启对PyQt5的代码提示功能 10第 2章 PyQt5 GUI程序框架 112.1 PyQt5 GUI程序的基本框架 112.2 使用可视化设计窗体的GUI程序 122.2.1 用UI Designer可视化设计窗体 132.2.2 将ui文件编译为py文件 162.2.3 使用Ui_FormHello类的GUI程序框架 182.2.4 界面与逻辑分离的GUI程序框架 192.3 信号与槽的使用 232.3.1 信号与槽功能概述 232.3.2 Qt Creator的使用 232.3.3 窗体可视化设计 252.3.4 界面组件布局管理 262.3.5 组件的信号与内建槽函数的关联 292.3.6 PyQt5 GUI项目程序框架 302.3.7 为组件的内建信号编写槽函数 352.4 自定义信号的使用 392.4.1 信号与槽的一些特点和功能 392.4.2 自定义信号使用示例 402.4.3 使用信号与槽的一些注意事项 432.5 资源文件的使用 432.5.1 功能概述 432.5.2 窗体可视化设计 442.5.3 创建和使用资源文件 442.5.4 窗体文件和资源文件的编译 452.5.5 窗体业务逻辑类的设计 462.5.6 为应用程序设置图标 472.6 从Qt C 类库到PyQt5 472.6.1 帮助信息的查找 472.6.2 正确导入模块中的类 492.6.3 部分类和接口函数的差异 502.6.4 数据类型对应关系 512.7 3个单窗体GUI项目模板 522.7.1 概述 522.7.2 dialogApp项目模板 532.7.3 widgetApp项目模板 542.7.4 mainWindowApp项目模板 552.7.5 使用项目模板和实例源程序 562.7.6 在Eric中编辑和运行示例程序 57第二部分 GUI应用程序设计第3章 常用界面组件的使用 603.1 数据输入输出 603.2 QPushButton 623.3 QSlider和QProgressBar 643.4 日期时间数据 663.4.1 日期时间类和界面组件 663.4.2 日期时间数据的获取并转换为字符串 673.4.3 字符串转换为日期时间 683.4.4 QLineEdit的inputMask 683.5 定时器QTimer 693.6 下拉列表框QComboBox 703.6.1 QComboBox功能概述 703.6.2 简单的ComboBox操作 713.6.3 带用户数据的ComboBox 723.6.4 QComboBox常用函数总结 733.7 QMainWindow与QAction 733.7.1 功能简介 733.7.2 窗体可视化设计 753.7.3 界面操作功能的代码实现 773.8 QListWidget和QToolButton 803.8.1 功能概述 803.8.2 窗体可视化设计 813.8.3 QToolButton与下拉式菜单 843.8.4 QListWidget的操作 853.8.5 创建右键快捷菜单 883.9 QTreeWidget和QDockWidget 883.9.1 功能概述 883.9.2 窗体可视化设计 903.9.3 QTreeWidget操作 913.9.4 QLabel和QPixmap显示图片 963.9.5 QDockWidget的操作 973.10 QTableWidget 983.10.1 QTableWidget概述 983.10.2 窗体设计与初始化 993.10.3 QTableWidget操作 1003.11 容器类组件与布局设计 1053.11.1 QGroupBox组件与水平布局 1063.11.2 布局的layoutStretch属性 1063.11.3 网格状布局 1073.11.4 分割条 108第4章 Model/View结构 1094.1 Model/View结构 1094.1.1 Model/View结构基本原理 1094.1.2 Model(数据模型) 1104.1.3 View(视图) 1114.1.4 Delegate(代理) 1114.1.5 Model/View结构的一些概念 1124.2 QFileSystemModel 1144.2.1 QFileSystemModel类的基本功能 1144.2.2 QFileSystemModel的使用 1144.3 QStringListModel 1164.3.1 QStringListModel功能概述 1164.3.2 QStringListModel的使用 1164.4 QStandardItemModel 1194.4.1 功能概述 1194.4.2 界面设计 1204.4.3 QStandardItemModel的使用 1204.5 自定义代理 1284.5.1 自定义代理的功能 1284.5.2 自定义代理类的基本设计要求 1284.5.3 基于QDoubleSpinBox的自定义代理类 1294.5.4 基于QComboBox的自定义代理类 1304.5.5 自定义代理类的使用 131第5章 事件处理 1335.1 默认事件处理 1335.1.1 应用程序的事件循环 1335.1.2 事件类型与默认的事件处理函数 1335.1.3 事件与信号的关系 1375.2 事件拦截与事件过滤 1395.2.1 event()函数的作用 1395.2.2 事件过滤器 1405.2.3 事件队列的及时处理 1415.3 拖放事件与拖放操作 1425.3.1 拖放操作相关事件 1425.3.2 外部文件拖放操作示例 1435.4 具有拖放操作功能的组件 1465.4.1 功能概述 1465.4.2 界面设计与初始化 1475.4.3 拖放操作属性的显示 1485.4.4 拖放属性的设置 1495.4.5 通过事件过滤器实现项的删除 150第6章 对话框与多窗口设计 1516.1 标准对话框 1516.1.1 概述 1516.1.2 QFileDialog对话框 1526.1.3 QColorDialog对话框 1546.1.4 QFontDialog对话框 1546.1.5 QProgressDialog对话框 1556.1.6 QInputDialog输入对话框 1566.1.7 QMessageBox消息对话框 1576.2 自定义对话框及其使用 1596.2.1 对话框的不同调用方式 1596.2.2 示例项目的文件组成 1606.2.3 主窗口的设计与初始化 1616.2.4 对话框QmyDialogSize的创建和使用 1636.2.5 对话框QmyDialogHeaders的创建和使用 1656.2.6 对话框QmyDialogLocate的创建和使用 1666.3 多窗口应用程序 1706.3.1 主要的窗体类及其用途 1706.3.2 窗体类重要特性的设置 1706.3.3 多窗口应用程序设计示例 1726.4 MDI应用程序设计 1796.4.1 MDI简介 1796.4.2 文档窗体类QmyFormDoc的设计 1806.4.3 主窗口设计与子窗口的使用 181第7章 数据库 1857.1 Qt SQL模块概述 1857.1.1 Qt SQL支持的数据库 1857.1.2 SQLite数据库 1857.1.3 Qt SQL模块的主要类 1877.2 QSqlTableModel的使用 1887.2.1 功能概述 1887.2.2 窗体可视化设计 1907.2.3 窗体业务逻辑类的设计和初始化 1907.2.4 打开数据库和数据表 1917.2.5 添加、插入与删除记录 1977.2.6 保存与取消修改 1987.2.7 设置和清除照片 1997.2.8 数据记录的遍历 1997.2.9 记录的排序 2007.2.10 记录的过滤 2007.3 QSqlQueryModel的使用 2017.3.1 QSqlQueryModel功能概述 2017.3.2 窗体业务逻辑类的设计和初始化 2027.3.3 打开数据库和查询数据 2027.3.4 记录移动 2057.4 QSqlQuery的使用 2067.4.1 QSqlQuery基本用法 2067.4.2 QSqlQueryModel和QSqlQuery联合使用 2077.5 QSqlRelationalTableModel的使用 2157.5.1 关系数据表和示例功能 2157.5.2 关系数据模型功能实现 216第8章 绘图 2198.1 QPainter绘图 2198.1.1 QPainter绘图系统 2198.1.2 QPen的主要功能 2218.1.3 QBrush的主要功能 2238.1.4 渐变填充 2248.1.5 QPainter绘制基本图形 2278.2 坐标系统和坐标变换 2308.2.1 坐标变换函数 2308.2.2 坐标变换绘图实例 2318.2.3 视口和窗口 2348.2.4 绘图叠加的效果 2368.3 自定义界面组件 2378.3.1 功能概述 2378.3.2 自定义QWidget子类QmyBattery 2378.3.3 QmyBattery类的使用 2398.4 Graphics View绘图架构 2418.4.1 场景、视图与图形项 2418.4.2 Graphics View的坐标系统 2428.4.3 Graphics View相关的类 2438.4.4 Graphics View程序基本结构 2468.4.5 Graphics View绘图程序示例 250第9章 文件 2619.1 文件操作相关类概述 2619.1.1 文件操作接口类QFile 2619.1.2 文件流操作类QTextStream和QDataStream 2629.1.3 目录和文件操作相关的类 2629.2 文本文件读写 2639.2.1 功能概述 2639.2.2 QFile读写文本文件 2639.2.3 QFile和QTextStream结合读写文本文件 2669.2.4 Python内建函数读写文本文件 2689.3 二进制文件读写 2699.3.1 基础知识和工具软件 2699.3.2 QDataStream功能概述 2719.3.3 QDataStream流化数据读写 2729.3.4 QDataStream原始数据读写 2819.4 目录和文件操作 2889.4.1 目录和文件操作相关的类 2889.4.2 示例功能概述 2889.4.3 QFile类 2909.4.4 QFileInfo类 2919.4.5 QDir类 2929.4.6 QFileSystemWatcher类 294第 10章 多媒体 29710.1 PyQt5多媒体模块功能概述 29710.2 音频播放 29810.2.1 使用QMediaPlayer播放音乐文件 29810.2.2 使用QSoundEffect和QSound播放音效文件 30310.3 音频输入 30410.3.1 使用QAudioRecorder录制音频 30410.3.2 使用QAudioInput获取音频输入 31010.4 视频播放 31710.4.1 在QVideoWidget上显示视频 31710.4.2 在QGraphicsVideoItem上播放视频 32110.5 摄像头的使用 32210.5.1 摄像头操作概述 32210.5.2 示例功能和界面可视化设计 32410.5.3 使用摄像头拍照 32410.5.4 使用QMediaRecorder通过摄像头录像 328第 11章 GUI设计增强技术 32911.1 多语言界面 32911.1.1 多语言界面设计概述 32911.1.2 多语言界面设计示例 33111.2 QSS定制界面 33611.2.1 Qt样式表的作用 33611.2.2 Qt样式表句法 33711.2.3 Qt样式表的使用 342第三部分 数据可视化第 12章 PyQtChart二维绘图 34612.1 PyQtChart概述 34612.1.1 模块安装与基本功能 34612.1.2 一个简单的PyQtChart绘图程序 34712.1.3 图表的主要组成部分 34812.2 QChart绘制折线图 35012.2.1 示例功能概述与界面设计 35012.2.2 QPen属性设置对话框设计 35112.2.3 主窗口业务逻辑类初始化 35312.2.4 图表各组成部件的属性设置 35612.3 QChart绘图高级功能 36512.3.1 功能概述 36512.3.2 自定义类QmyChartView 36612.3.3 主窗口可视化设计 36812.3.4 绘图功能的实现 36812.4 对数坐标轴和多坐标轴 37312.4.1 功能概述 37312.4.2 主窗口可视化设计 37412.4.3 界面和图表初始化 37412.4.4 载入数据文件并绘制曲线 37512.5 饼图和各种柱状图 37712.5.1 功能概述 37712.5.2 窗口初始化与数据准备 37812.5.3 其他界面操作功能的实现 38112.5.4 柱状图 38212.5.5 堆叠柱状图 38712.5.6 百分比柱状图 38812.5.7 饼图 39012.6 蜡烛图和日期时间坐标轴 39212.6.1 功能概述 39212.6.2 界面和图表初始化 39412.6.3 绘图功能的实现 39512.7 区域填充图 39912.7.1 功能概述 39912.7.2 界面和图表初始化 40012.7.3 绘图功能的实现 40212.8 极坐标图 40512.8.1 功能概述 40512.8.2 绘制极坐标图 40612.8.3 其他功能的实现 408第 13章 PyQtDataVisualization三维绘图 41113.1 PyQtDataVisualization模块概述 41113.1.1 模块安装与导入 41113.1.2 模块中主要的类 41113.2 三维柱状图 41313.2.1 功能概述 41313.2.2 窗体可视化设计 41313.2.3 初始化创建三维柱状图 41413.2.4 其他功能的实现 41713.3 三维散点图 42413.3.1 功能概述 42413.3.2 创建三维散点图 42513.3.3 散点数据管理 42713.4 三维曲面图 42913.4.1 功能概述 42913.4.2 三维曲面图 42913.4.3 三维地形图 434第 14章 Matplotlib数据可视化 43714.1 Matplotlib的基本用法 43714.1.1 Matplotlib的安装 43714.1.2 一个脚本化的绘图程序 43814.1.3 GUI程序中的Matplotlib绘图 43914.2 图的主要元素的面向对象操作 44314.2.1 图的主要组成元素 44314.2.2 示例程序功能和窗体可视化设计 44514.2.3 界面创建与初始化绘图 44614.2.4 Figure对象的操作 45014.2.5 Axes子图的操作 45314.2.6 曲线设置 45614.2.7 x轴和y轴设置 45814.3 交互操作 46414.3.1 交互功能概述 46414.3.2 界面构造与初始化绘图 46614.3.3 界面其他功能的实现 46914.3.4 交互事件的处理 46914.4 典型二维图的绘制 47114.4.1 自定义绘图组件类QmyFigureCanvas 47114.4.2 QmyFigureCanvas类的使用 47314.4.3 直方图 47514.4.4 填充图 47614.4.5 饼图 47714.4.6 火柴杆图 47814.4.7 极坐标图 48014.5 三维数据绘图 48214.5.1 三维数据绘图概述 48214.5.2 窗体初始化 48314.5.3 绘制三维图 48614.5.4 三维数据绘制二维图 48714.5.5 colormap 488

封面

PYTHON QT GUI与数据可视化编程

书名:PYTHON QT GUI与数据可视化编程

作者:王维波 栗宝鹃 张晓东

页数:490

定价:¥99.0

出版社:人民邮电出版社

出版日期:2018-03-01

ISBN:9787115514165

PDF电子书大小:55MB 高清扫描完整版

百度云下载:http://www.chendianrong.com/pdf

发表评论

邮箱地址不会被公开。 必填项已用*标注