欢迎访问学兔兔,学习、交流 分享 !

返回首页 |

Qt 5.9 C++开发指南

收藏
  • 大小:32.39 MB
  • 语言:中文版
  • 格式: PDF文档
  • 阅读软件: Adobe Reader
资源简介
Qt 5.9 C++开发指南
出版时间:2018
内容简介
本书以Qt 5.9 LTS版本为发平台,详细介绍了Qt C 发应用程序的技术,包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等,介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库、多线程、网络和多媒体等模块的使用。每个编程主题都精心设计了完整的实例程序。 通过阅读本书,可了解Qt C 发应用程序所需的基本技术。本书适合具有C 语言编程基础,希望应用Qt C 发跨平台应用程序的读者阅读。
【推荐语】
本书力求比较全面地介绍Qt C 发应用程序的技术,有以下几个特。 1.以Qt 5.9 LTS为发用版本,是目前新版的Qt,未来三年内有持续的支持(上一个LTS版本是Qt 5.6)。 2.介绍了Qt Charts, Data Visualization模块的使用,这是Qt 5.7以后才出现在社区版Qt中的模块,其他书籍没有介绍过的。 3.专注讲解Qt C 编程,内容全面而深。每个编程主题都精心设计了完整的实例程序,通过实例程序讲解主要类的使用。实例注重实际编程需求,很多实例代码可以直用于应用程序发。 4.本书内容安排上循序渐,编程主题与实例的讲解也完全站在学习者的角度,既讲解原理,也讲解代码实现,让读者跟随着书的内容就能掌握技术要。
【作者】
王维波,博士,主要从事地球物理探测仪器设计、数据处理方法研究和软件发等工作,精通软硬件设计与发。在实际研究和发工作中发现Qt之利、Qt之美,与读者分享Qt发经验。 栗宝鹃,博士,主要从事地球物理数据处理和成像的研究,在研究工作中将Qt用于专业软件的发,精通Qt学习之道、应用之道。 侯春望,硕士,主要从事单片机系统和应用软件的教学和研究工作,精通Qt C 编程,曾发多个专业应用软件。
目录
版权

内容提要

前言

第1章 认识Qt

1.1 Qt简介

1.2 Qt的获取与安装

1.2.1 Qt的许可类型

1.2.2 Qt的版本

1.2.3 Qt的下载与安装

1.3 Qt Creator初步使用

1.3.1 Qt Creator的界面组成

1.3.2 Qt Creator的设置

1.4 编写一个Hello World程序

1.4.1 新建一个项目

1.4.2 项目的文件组成和管理

1.4.3 项目的编译、调试与运行

1.5 在Visual Studio里使用Qt

第2章 GUI应用程序设计基础

2.1 UI文件设计与运行机制

2.1.1 项目文件组成

2.1.2 项目管理文件

2.1.3 界面文件

2.1.4 主函数文件

2.1.5 窗体相关的文件

2.2 可视化UI设计

2.2.1 实例程序功能

2.2.2 界面组件布局

2.2.3 信号与槽

2.2.4 可视化生成槽函数原型和框架

2.3 代码化UI设计

2.3.1 实例功能

2.3.2 界面创建

2.3.3 信号与槽的关联

2.4 混合方式UI设计

2.4.1 设计目的

2.4.2 创建项目并添加资源文件

2.4.3 设计Action

2.4.4 设计菜单和工具栏

2.4.5 代码创建其他界面组件

2.4.6 Action的功能实现

2.4.7 手工创建的组件的信号与槽

2.4.8 为应用程序设置图标

2.5 Qt Creator使用技巧

第3章 Qt类库概述

3.1 Qt核心特点

3.1.1 概述

3.1.2 元对象系统

3.1.3 属性系统

3.1.4 信号与槽

3.1.5 元对象特性测试实例

3.2 Qt全局定义

3.2.1 数据类型定义

3.2.2 函数

3.2.3 宏定义

3.3 容器类

3.3.1 容器类概述

3.3.2 顺序容器类

3.3.3 关联容器类

3.4 容器类的迭代

3.4.1 Java类型迭代器

3.4.2 STL类型迭代器

3.4.3 foreach关键字

3.5 Qt类库的模块

3.5.1 Qt基本模块

3.5.2 Qt附加模块

3.5.3 增值模块

3.5.4 技术预览模块

3.5.5 Qt工具

第4章 常用界面设计组件

4.1 字符串与输入输出

4.1.1字符串与数值之间的转换

4.1.2 QString的常用功能

4.2 SpinBox的使用

4.3 其他数值输入和显示组件

4.3.1 实例功能

4.3.2 各组件的主要功能和属性

4.3.3 实例功能的代码实现

4.4 时间日期与定时器

4.4.1 时间日期相关的类

4.4.2 日期时间数据与字符串之间的转换

4.4.3 QCalendarWidget日历组件

4.4.4 定时器的使用

4.5 QComboBox和QPlainTextEdit

4.5.1 实例功能概述

4.5.2 QComboBox的使用

4.5.3 QPlainTextEdit的使用

4.6 QListWidget和QToolButton

4.6.1 实例功能简介

4.6.2 界面设计

4.6.3 QListWidget的操作

4.6.4 QToolButton与下拉式菜单

4.6.5 创建右键快捷菜单

4.7 QTreeWidget和QDockWidget

4.7.1 实例功能概述

4.7.2 界面设计

4.7.3 QTreeWidget操作

4.7.4 QLabel和QPixmap显示图片

4.7.5 QDockWidget的操作

4.8 QTableWidget的使用

4.8.1 QTableWidget概述

4.8.2 界面设计与初始化

4.8.3 QTableWidget操作

第5章 Model/View结构

5.1 Model/View结构

5.1.1 Model/View基本原理

5.1.2 数据模型

5.1.3 视图组件

5.1.4 代理

5.1.5 Model/View结构的一些概念

5.2 QFileSystemModel

5.2.1 QFileSystemModel类的基本功能

5.2.2 QFileSystemModel的使用

5.3 QStringListModel

5.3.1 QStringListModel功能概述

5.3.2 QStringListModel的使用

5.4 QStandardItemModel

5.4.1 功能概述

5.4.2 界面设计与主窗口类定义

5.4.3 QStandardItemModel的使用

5.5 自定义代理

5.5.1 自定义代理的功能

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

5.5.3 基于QSpinBox的自定义代理类

5.5.4 自定义代理类的使用

第6章 对话框与多窗体设计

6.1 标准对话框

6.1.1 概述

6.1.2 QFileDialog对话框

6.1.3 QColorDialog对话框

6.1.4 QFontDialog对话框

6.1.5 QInputDialog标准输入对话框

6.1.6 QMessageBox消息对话框

6.2 自定义对话框及其调用

6.2.1 对话框的不同调用方式

6.2.2 对话框QWDialogSize的创建和使用

6.2.3 对话框QWDialogHeaders的创建和使用

6.2.4 对话框QWDialogLocate的创建与使用

6.2.5 利用信号与槽实现交互操作

6.3 多窗体应用程序设计

6.3.1 主要的窗体类及其用途

6.3.2 窗体类重要特性的设置

6.3.3 多窗口应用程序的设计

6.4 MDI应用程序设计

6.4.1 MDI简介

6.4.2 文档窗口类QFormDoc的设计

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

6.5 Splash与登录窗口

6.5.1 实例功能概述

6.5.2 对话框界面设计和类定义

6.5.3 QDlgLogin类功能实现

6.5.4 Splash登录窗口的使用

第7章 文件系统和文件读写

7.1 文本文件读写

7.1.1 实例功能概述

7.1.2 QFile读写文本文件

7.1.3 QFile和QTextStream结合读写文本文件

7.1.4 解决中文乱码的问题

7.2 二进制文件读写

7.2.1 实例功能概述

7.2.2 Qt预定义编码文件的读写

7.2.3 标准编码文件的读写

7.3 文件目录操作

7.3.1 文件目录操作相关的类

7.3.2 实例概述

7.3.3 QCoreApplication类

7.3.4 QFile类

7.3.5 QFileInfo类

7.3.6 QDir类

7.3.7 QTemporaryDir和QTemporaryFile

7.3.8 QFileSystemWatcher类

第8章 绘图

8.1 QPainter基本绘图

8.1.1 QPainter绘图系统

8.1.2 QPen的主要功能

8.1.3 QBrush的主要功能

8.1.4 渐变填充

8.1.5 QPainter绘制基本图形元件

8.2 坐标系统和坐标变换

8.2.1 坐标变换函数

8.2.2 坐标变换绘图实例

8.2.3 视口和窗口

8.2.4 绘图叠加的效果

8.3 Graphics View绘图架构

8.3.1 场景、视图与图形项

8.3.2 Graphics View的坐标系统

8.3.3 Graphics View相关的类

8.3.4 Graphics View程序基本结构和功能实现

8.3.5 Graphics View绘图程序实例

第9章 Qt Charts

9.1 Qt Charts概述

9.1.1 Qt Charts模块

9.1.2 一个简单的QChart绘图程序

9.1.3 图表的主要组成部分

9.2 QChart绘制折线图

9.2.1 实例功能

9.2.2 主窗口类定义和初始化

9.2.3 画笔设置对话框QWDialogPen

9.2.4 QChart的设置

9.2.5 QLineSeries序列的设置

9.2.6 QValueAxis坐标轴的设置

9.3 各种常见图表的绘制

9.3.1 实例功能概述

9.3.2 数据准备

9.3.3 柱状图

9.3.4 饼图

9.3.5 堆叠柱状图

9.3.6 百分比柱状图

9.3.7 散点图和光滑曲线图

9.4 图表的其他操作

9.4.1 实例功能概述

9.4.2 自定义QWChartView类

9.4.3 主窗口类的设计

9.4.4 实时显示光标处的数值

9.4.5 QLegendMarker的使用

9.4.6 图表的缩放

第10章 Data Visualization

10.1 Data Visualization模块概述

10.2 三维柱状图

10.2.1 实例功能

10.2.2 主窗口设计

10.2.3 三维柱状图的创建

10.2.4 三维柱状图属性设置

10.3 三维散点图

10.3.1 绘制三维散点图

10.3.2 三维坐标轴的方向

10.3.3 散点形状与大小

10.4 三维曲面绘图

10.4.1 三维曲面图

10.4.2 三维地形图

第11章 数据库

11.1 Qt SQL模块概述

11.1.1 Qt SQL支持的数据库

11.1.2 SQLite数据库

11.1.3 Qt SQL模块的主要类

11.2 QSqlTableModel的使用

11.2.1 实例功能

11.2.2 主窗口设计

11.2.3 打开数据表

11.2.4 添加、插入与删除记录

11.2.5 保存与取消修改

11.2.6 设置和清除照片

11.2.7 数据记录的遍历

11.2.8 记录排序

11.2.9 记录过滤

11.3 QSqlQueryModel的使用

11.3.1 QSqlQueryModel功能概述

11.3.2 使用QSqlQueryModel实现数据查询

11.4 QSqlQuery的使用

11.4.1 QSqlQuery基本用法

11.4.2 QSqlQueryModel和QSqlQuery联合使用

11.5 QSqlRelationalTableModel的使用

11.5.1 关系型数据表和实例功能

11.5.2 关系型数据模型功能实现

第12章 自定义插件和库

12.1 自定义Widget组件

12.1.1 自定义Widget子类QmyBattery

12.1.2 自定义Widget组件的使用

12.2 自定义Qt Designer插件

12.2.1 创建Qt Designer Widget插件项目

12.2.2 插件项目各文件的功能实现

12.2.3 插件的编译与安装

12.2.4 使用自定义插件

12.2.5 使用MSVC编译器输出中文的问题

12.3 创建和使用静态链接库

12.3.1 创建静态链接库

12.3.2 静态链接库的使用

12.4 创建和使用共享库

12.4.1 创建共享库

12.4.2 使用共享库

第13章 多线程

13.1 QThread创建多线程程序

13.1.1 QThread类功能简介

13.1.2 掷骰子的线程QDiceThread

13.1.3 掷骰子的多线程应用程序

13.2 线程同步

13.2.1 线程同步的概念

13.2.2 基于互斥量的线程同步

13.2.3 基于QReadWriteLock的线程同步

13.2.4 基于QWaitCondition的线程同步

13.2.5 基于信号量的线程同步

第14章 网络编程

14.1 主机信息查询

14.1.1 QHostInfo和QNetworkInterface类

14.1.2 QHostInfo的使用

14.1.3 QNetworkInterface的使用

14.2 TCP通信

14.2.1 TCP通信概述

14.2.2 TCP服务器端程序设计

14.2.3 TCP客户端程序设计

14.3 QUdpSocket实现UDP通信

14.3.1 UDP通信概述

14.3.2 UDP单播和广播

14.3.3 UDP组播

14.4 基于HTTP协议的网络应用程序

14.4.1 实现高层网络操作的类

14.4.2 基于HTTP协议的网络文件下载

第15章 多媒体

15.1 Qt多媒体模块功能概述

15.2 音频播放

15.2.1 使用QMediaPlayer播放音乐文件

15.2.2 使用QSoundEffect和QSound播放音效文件

15.3 音频输入

15.3.1 使用QAudioRecorder录制音频

15.3.2 使用QAudioInput获取音频输入

15.4 视频播放

15.4.1 在QVideoWidget上播放视频

15.4.2 在QGraphicsVideoItem上播放视频

15.5 摄像头的使用

15.5.1 摄像头控制概述

15.5.2 实例主窗口设计与初始化

15.5.3 QCamera对象创建与控制

15.5.4 QCameraImageCapture抓取静态图片

15.5.5 QMediaRecorder视频录制

第16章 应用程序设计辅助功能

16.1 多语言界面

16.1.1 多语言界面设计概述

16.1.2 tr()函数的使用

16.1.3 生成语言翻译文件

16.1.4 使用Qt Linguist翻译ts文件

16.1.5 调用翻译文件改变界面语言

16.2 使用样式表自定义界面

16.2.1 Qt样式表

16.2.2 Qt样式表句法

16.2.3 样式表的使用

16.3 使用QStyle设置界面外观

16.3.1 QStyle的作用

16.3.2 Qt内置样式的使用

16.4 Qt应用程序的发布

16.4.1 应用程序发布方式

16.4.2 Windows平台上的应用程序发布
下载地址