python qt gui与数据可视化编程_Python Qt GUI与数据可视化编程

部分 PyQt5开发基础

章 开发环境安装2

1.1Python2

1.1.1Python 简介2

1.1.2Python的下载与安装2

1.1.3IDLE的基本使用3

1.1.4安装Python包4

1.2Qt5

1.2.1Qt 简介5

1.2.2Qt 的下载与安装5

1.2.3Qt的几个工具软件7

1.2.4Qt Creator的设置7

1.3PyQt58

1.3.1PyQt5简介8

1.3.2PyQt5安装9

部分 PyQt5开发基础

章 开发环境安装2

1.1Python2

1.1.1Python 简介2

1.1.2Python的下载与安装2

1.1.3IDLE的基本使用3

1.1.4安装Python包4

1.2Qt5

1.2.1Qt 简介5

1.2.2Qt 的下载与安装5

1.2.3Qt的几个工具软件7

1.2.4Qt Creator的设置7

1.3PyQt58

1.3.1PyQt5简介8

1.3.2PyQt5安装9

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

第2章 PyQt5 GUI程序框架11

2.1PyQt5 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.2Qt Creator的使用23

2.3.3窗体可视化设计25

2.3.4界面组件布局管理26

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

2.3.6PyQt5 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++类库到PyQt547

2.6.1帮助信息的查找47

2.6.2正确导入模块中的类49

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

2.6.4数据类型对应关系51

2.73个单窗体GUI项目模板52

2.7.1概述52

2.7.2dialogApp项目模板53

2.7.3widgetApp项目模板54

2.7.4mainWindowApp项目模板55

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

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

第二部分GUI应用程序设计

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

3.1数据输入输出60

3.2QPushButton62

3.3QSlider和QProgressBar64

3.4日期时间数据66

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

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

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

3.4.4QLineEdit的inputMask68

3.5定时器QTimer69

3.6下拉列表框QComboBox70

3.6.1QComboBox功能概述70

3.6.2简单的ComboBox操作71

3.6.3带用户数据的ComboBox72

3.6.4QComboBox常用函数总结73

3.7QMainWindow与QAction73

3.7.1功能简介73

3.7.2窗体可视化设计75

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

3.8QListWidget和QToolButton80

3.8.1功能概述80

3.8.2窗体可视化设计81

3.8.3QToolButton与下拉式菜单84

3.8.4QListWidget的操作85

3.8.5创建右键快捷菜单88

3.9QTreeWidget和QDockWidget88

3.9.1功能概述88

3.9.2窗体可视化设计90

3.9.3QTreeWidget操作91

3.9.4QLabel和QPixmap显示图片96

3.9.5QDockWidget的操作97

3.10QTableWidget98

3.10.1QTableWidget概述98

3.10.2窗体设计与初始化99

3.10.3QTableWidget操作100

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

3.11.1QGroupBox组件与水平布局106

3.11.2布局的layoutStretch属性106

3.11.3网格状布局107

3.11.4分割条108

第4章Model/View结构109

4.1Model/View结构109

4.1.1Model/View结构基本原理109

4.1.2Model(数据模型)110

4.1.3View(视图)111

4.1.4Delegate(代理)111

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

4.2QFileSystemModel114

4.2.1QFileSystemModel类的基本功能114

4.2.2QFileSystemModel的使用114

4.3QStringListModel116

4.3.1QStringListModel功能概述116

4.3.2QStringListModel的使用116

4.4QStandardItemModel119

4.4.1功能概述119

4.4.2界面设计120

4.4.3QStandardItemModel的使用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.1event()函数的作用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.2QFileDialog对话框152

6.1.3QColorDialog对话框154

6.1.4QFontDialog对话框154

6.1.5QProgressDialog对话框155

6.1.6QInputDialog输入对话框156

6.1.7QMessageBox消息对话框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.4MDI应用程序设计179

6.4.1MDI简介179

6.4.2文档窗体类QmyFormDoc的设计180

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

第7章数据库185

7.1Qt SQL模块概述185

7.1.1Qt SQL支持的数据库185

7.1.2SQLite数据库185

7.1.3Qt SQL模块的主要类187

7.2QSqlTableModel的使用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.3QSqlQueryModel的使用201

7.3.1QSqlQueryModel功能概述201

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

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

7.3.4记录移动205

7.4QSqlQuery的使用206

7.4.1QSqlQuery基本用法206

7.4.2QSqlQueryModel和QSqlQuery联合使用207

7.5QSqlRelationalTableModel的使用215

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

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

第8章绘图219

8.1QPainter绘图219

8.1.1QPainter绘图系统219

8.1.2QPen的主要功能221

8.1.3QBrush的主要功能223

8.1.4渐变填充224

8.1.5QPainter绘制基本图形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子类QmyBattery237

8.3.3QmyBattery类的使用239

8.4Graphics View绘图架构241

8.4.1场景、视图与图形项241

8.4.2Graphics View的坐标系统242

8.4.3Graphics View相关的类243

8.4.4Graphics View程序基本结构246

8.4.5Graphics View绘图程序示例250

第9章文件261

9.1文件操作相关类概述261

9.1.1文件操作接口类QFile261

9.1.2文件流操作类QTextStream和QDataStream262

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

9.2文本文件读写263

9.2.1功能概述263

9.2.2QFile读写文本文件263

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

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

9.3二进制文件读写269

9.3.1基础知识和工具软件269

9.3.2QDataStream功能概述271

9.3.3QDataStream流化数据读写272

9.3.4QDataStream原始数据读写281

9.4目录和文件操作288

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

9.4.2示例功能概述288

9.4.3QFile类290

9.4.4QFileInfo类291

9.4.5QDir类292

9.4.6QFileSystemWatcher类294

0章 多媒体297

10.1PyQt5多媒体模块功能概述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

1章 GUI设计增强技术329

11.1多语言界面329

11.1.1多语言界面设计概述329

11.1.2多语言界面设计示例331

11.2QSS定制界面336

11.2.1Qt样式表的作用336

11.2.2Qt样式表句法337

11.2.3Qt样式表的使用342

第三部分数据可视化

2章 PyQtChart二维绘图346

12.1PyQtChart概述346

12.1.1模块安装与基本功能346

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

12.1.3图表的主要组成部分348

12.2QChart绘制折线图350

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

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

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

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

12.3QChart绘图不错功能365

12.3.1功能概述365

12.3.2自定义类QmyChartView366

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

3章 PyQtDataVisualization三维绘图411

13.1PyQtDataVisualization模块概述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

4章 Matplotlib数据可视化437

14.1Matplotlib的基本用法437

14.1.1Matplotlib的安装437

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

14.1.3GUI程序中的Matplotlib绘图439

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

14.2.1图的主要组成元素443

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

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

14.2.4Figure对象的操作450

14.2.5Axes子图的操作453

14.2.6曲线设置456

14.2.7x轴和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自定义绘图组件类QmyFigureCanvas471

14.4.2QmyFigureCanvas类的使用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.5colormap488

你可能感兴趣的:(python,qt,gui与数据可视化编程)