《Qt 5.9 C++开发指南》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王维波,栗宝鹃,侯春望著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115478689
  • 页数:462 页
图书介绍:本书以Qt 5.9 LTS版本为开发平台,详细介绍了包括Qt应用程序的基本架构、信号与槽工作机制、图形显示的Graphics/View架构、数据编辑和显示的Model/View架构、对话框和多窗口的设计与调用方法等技术;也介绍了常用界面组件、文件读写、绘图、图表、数据可视化、数据库、多线程、网络、多媒体等模块的使用。每个编程主题都精心设计了完整的实例程序,适用于Qt支持的任何平台。

第1章 认识Qt 1

1.1 Qt简介 1

1.2 Qt的获取与安装 1

1.2.1 Qt的许可类型 1

1.2.2 Qt的版本 2

1.2.3 Qt的下载与安装 2

1.3 Qt Creator初步使用 5

1.3.1 Qt Creator的界面组成 5

1.3.2 Qt Creator的设置 6

1.4编写一个Hello World程序 7

1.4.1新建一个项目 7

1.4.2项目的文件组成和管理 10

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

1.5在Visual Studio里使用Qt 13

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

2.1 UI文件设计与运行机制 16

2.1.1项目文件组成 16

2.1.2项目管理文件 16

2.1.3界面文件 17

2.1.4主函数文件 19

2.1.5窗体相关的文件 20

2.2可视化UI设计 25

2.2.1实例程序功能 26

2.2.2界面组件布局 26

2.2.3信号与槽 29

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

2.3代码化UI设计 34

2.3.1实例功能 34

2.3.2界面创建 34

2.3.3信号与槽的关联 37

2.4混合方式UI设计 37

2.4.1设计目的 37

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

2.4.3设计Action 39

2.4.4设计菜单和工具栏 41

2.4.5代码创建其他界面组件 44

2.4.6 Action的功能实现 45

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

2.4.8为应用程序设置图标 48

2.5 Qt Creator使用技巧 48

第3章 Qt类库概述 50

3.1 Qt核心特点 50

3.1.1概述 50

3.1.2元对象系统 50

3.1.3属性系统 52

3.1.4信号与槽 53

3.1.5元对象特性测试实例 55

3.2 Qt全局定义 59

3.2.1数据类型定义 60

3.2.2函数 60

3.2.3宏定义 61

3.3容器类 62

3.3.1容器类概述 62

3.3.2顺序容器类 63

3.3.3关联容器类 64

3.4容器类的迭代 66

3.4.1 Java类型迭代器 66

3.4.2 STL类型迭代器 68

3.4.3 foreach关键字 69

3.5 Qt类库的模块 70

3.5.1 Qt基本模块 71

3.5.2 Qt附加模块 71

3.5.3增值模块 72

3.5.4技术预览模块 72

3.5.5 Qt工具 73

第4章 常用界面设计组件 74

4.1字符串与输入输出 74

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

4.1.2 QString的常用功能 76

4.2 SpinBox的使用 78

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

4.3.1实例功能 80

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

4.3.3实例功能的代码实现 82

4.4时间日期与定时器 84

4.4.1时间日期相关的类 84

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

4.4.3 QCalendarWidget日历组件 87

4.4.4定时器的使用 87

4.5 QComboBox和QPlainTextEdit 89

4.5.1实例功能概述 89

4.5.2 QComboBox的使用 89

4.5.3 QPlainTextEdit的使用 91

4.6 QListWidget和QToolButton 93

4.6.1实例功能简介 93

4.6.2界面设计 94

4.6.3 QListWidget的操作 97

4.6.4 QToolButton与下拉式菜单 99

4.6.5创建右键快捷菜单 101

4.7 QTreeWidget和QDockWidget 102

4.7.1实例功能概述 102

4.7.2界面设计 103

4.7.3 QTreeWidget操作 105

4.7.4 QLabel和Qpixmap显示图片 110

4.7.5 QDockWidget的操作 111

4.8 QTableWidget的使用 112

4.8.1 QTableWidget概述 112

4.8.2界面设计与初始化 113

4.8.3 QTableWidget操作 114

第5章 Model/View结构 120

5.1 Model/View结构 120

5.1.1 Model/View基本原理 120

5.1.2数据模型 121

5.1.3视图组件 122

5.1.4代理 122

5.1.5 Model/View结构的一些概念 123

5.2 QFileSystemModel 125

5.2.1 QFileSystemModel类的基本功能 125

5.2.2 QFileSystemModel的使用 125

5.3 QStringListModel 127

5.3.1 QstringListModel功能概述 127

5.3.2 QStringListModel的使用 127

5.4 QStandardItemModel 130

5.4.1功能概述 130

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

5.4.3 QStandardItemModel的使用 132

5.5自定义代理 139

5.5.1自定义代理的功能 139

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

5.5.3基于QSpinBox的自定义代理类 139

5.5.4自定义代理类的使用 141

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

6.1标准对话框 143

6.1.1概述 143

6.1.2 QFileDialog对话框 144

6.1.3 QColorDialog对话框 146

6.1.4 QFontDialog对话框 146

6.1.5 QInputDialog标准输入对话框 147

6.1.6 QMessageBox消息对话框 149

6.2自定义对话框及其调用 150

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

6.2.2对话框QWDialogSize的创建和使用 152

6.2.3对话框Q WDialogHeaders的创建和使用 154

6.2.4对话框QWDialogLocate的创建与使用 156

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

6.3多窗体应用程序设计 162

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

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

6.3.3多窗口应用程序的设计 165

6.4 MDI应用程序设计 170

6.4.1 MDI简介 170

6.4.2文档窗口类QFormDoc的设计 171

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

6.5 Splash与登录窗口 176

6.5.1实例功能概述 176

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

6.5.3 QD1gLogin类功能实现 178

6.5.4 Splash登录窗口的使用 181

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

7.1文本文件读写 182

7.1.1实例功能概述 182

7.1.2 QFile读写文本文件 182

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

7.1.4解决中文乱码的问题 185

7.2二进制文件读写 186

7.2.1实例功能概述 186

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

7.2.3标准编码文件的读写 192

7.3文件目录操作 197

7.3.1文件目录操作相关的类 197

7.3.2实例概述 197

7.3.3 QCoreApplication类 199

7.3.4 QFile类 199

7.3.5 QFileInfo类 200

7.3.6 QDir类 201

7.3.7 QTemporaryDir和QTemporaryFile 203

7.3.8 QFileSystemWatcher类 203

第8章 绘图 206

8.1 QPainter基本绘图 206

8.1.1 QPainter绘图系统 206

8.1.2 QPen的主要功能 209

8.1.3 QBrush的主要功能 210

8.1.4渐变填充 212

8.1.5 QPainter绘制基本图形元件 214

8.2坐标系统和坐标变换 217

8.2.1坐标变换函数 217

8.2.2坐标变换绘图实例 218

8.2.3视口和窗口 221

8.2.4绘图叠加的效果 223

8.3 Graphics View绘图架构 224

8.3.1场景、视图与图形项 224

8.3.2 Graphics View的坐标系统 226

8.3.3 Graphics View相关的类 227

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

8.3.5 Graphics View绘图程序实例 235

第9章 Qt Charts 247

9.1 Qt Charts概述 247

9.1.1 Qt Charts模块 247

9.1.2一个简单的QChart绘图程序 248

9.1.3图表的主要组成部分 249

9.2 QChart绘制折线图 253

9.2.1实例功能 253

9.2.2主窗口类定义和初始化 253

9.2.3画笔设置对话框QWDialogPen 256

9.2.4 QChart的设置 257

9.2.5 QLineSeries序列的设置 259

9.2.6 QValueAxis坐标轴的设置 261

9.3各种常见图表的绘制 263

9.3.1实例功能概述 263

9.3.2数据准备 264

9.3.3柱状图 267

9.3.4饼图 270

9.3.5堆叠柱状图 273

9.3.6百分比柱状图 274

9.3.7散点图和光滑曲线图 276

9.4图表的其他操作 277

9.4.1实例功能概述 277

9.4.2自定义QWChartView类 278

9.4.3主窗口类的设计 280

9.4.4实时显示光标处的数值 281

9.4.5 QLegendMarker的使用 282

9.4.6图表的缩放 283

第10章 Data Visualization 284

10.1 Data Visualization模块概述 284

10.2三维柱状图 285

10.2.1实例功能 285

10.2.2主窗口设计 286

10.2.3三维柱状图的创建 287

10.2.4三维柱状图属性设置 289

10.3三维散点图 293

10.3.1绘制三维散点图 293

10.3.2三维坐标轴的方向 296

10.3.3散点形状与大小 296

10.4三维曲面绘图 296

10.4.1三维曲面图 296

10.4.2三维地形图 301

第11章 数据库 305

11.1 Qt SQL模块概述 305

11.1.1 Qt SQL支持的数据库 305

11.1.2 SQLite数据库 306

11.1.3 Qt SQL模块的主要类 308

11.2 QSqlTableModel的使用 309

11.2.1实例功能 309

11.2.2主窗口设计 310

11.2.3打开数据表 311

11.2.4添加、插入与删除记录 319

11.2.5保存与取消修改 319

11.2.6设置和清除照片 320

11.2.7数据记录的遍历 321

11.2.8记录排序 322

11.2.9记录过滤 322

11.3 QSqlQueryModel的使用 323

11.3.1 QSqlQueryModel功能概述 323

11.3.2使用QSqlQueryModel实现数据查询 323

11.4 QSqlQuery的使用 327

11.4.1 QSqlQuery基本用法 327

11.4.2 QSqlQueryModel和QSqlQuery联合使用 328

11.5 QSqlRelationalTableModel的使用 336

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

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

第12章 自定义插件和库 340

12.1自定义Widget组件 340

12.1.1自定义Widget子类QmyBattery 340

12.1.2自定义Widget组件的使用 343

12.2自定义Qt Designer插件 344

12.2.1创建Qt Designer Widget插件项目 344

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

12.2.3插件的编译与安装 349

12.2.4使用自定义插件 350

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

12.3创建和使用静态链接库 353

12.3.1创建静态链接库 353

12.3.2静态链接库的使用 354

12.4创建和使用共享库 357

12.4.1创建共享库 357

12.4.2使用共享库 358

第13章 多线程 362

13.1 QThread创建多线程程序 362

13.1.1 QThread类功能简介 362

13.1.2掷骰子的线程QDiceThread 363

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

13.2线程同步 367

13.2.1线程同步的概念 367

13.2.2基于互斥量的线程同步 368

13.2.3基于QReadWriteLock的线程同步 371

13.2.4基于QWaitCondition的线程同步 373

13.2.5基于信号量的线程同步 377

第14章 网络编程 383

14.1主机信息查询 383

14.1.1 QHostInfo和QNetworkInterface类 383

14.1.2 QHostInfo的使用 384

14.1.3 QNetworkInterface的使用 386

14.2 TCP通信 388

14.2.1 TCP通信概述 388

14.2.2 TCP服务器端程序设计 390

14.2.3 TCP客户端程序设计 395

14.3 QUdpSocket实现UDP通信 397

14.3.1 UDP通信概述 397

14.3.2 UDP单播和广播 398

14.3.3 UDP组播 402

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

14.4.1实现高层网络操作的类 405

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

第15章 多媒体 409

15.1 Qt多媒体模块功能概述 409

15.2音频播放 410

15.2.1使用QMediaPlayer播放音乐文件 410

15.2.2使用QSoundEffect和Qsound播放音效文件 415

15.3音频输入 415

15.3.1使用QAudioRecorder录制音频 415

15.3.2使用QAudioInput获取音频输入 421

15.4视频播放 428

15.4.1在QVideoWidget上播放视频 428

15.4.2在QGraphicsVideoItem上播放视频 431

15.5摄像头的使用 433

15.5.1摄像头控制概述 433

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

15.5.3 QCamera对象创建与控制 436

15.5.4 QCameraImageCapture抓取静态图片 438

15.5.5 QMediaRecorder视频录制 439

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

16.1多语言界面 441

16.1.1多语言界面设计概述 441

16.1.2 tr()函数的使用 441

16.1.3生成语言翻译文件 442

16.1.4使用Qt Linguist翻译ts文件 443

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

16.2使用样式表自定义界面 446

16.2.1 Qt样式表 446

16.2.2 Qt样式表句法 447

16.2.3样式表的使用 453

16.3使用QStyle设置界面外观 455

16.3.1 QStyle的作用 455

16.3.2 Qt内置样式的使用 456

16.4 Qt应用程序的发布 457

16.4.1应用程序发布方式 457

16.4.2 Windows平台上的应用程序发布 458