《Qt 5开发及实例 含典型案例视频分析 第4版》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:陆文周主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2019
  • ISBN:9787121361579
  • 页数:746 页
图书介绍:Qt是软件开发领域中非常著名的C++可视化开发平台。本书以Qt 5.11为平台,介绍Qt和QML编程及其应用开发。全书分为5个部分。第1部分为Qt基础,在上一版的基础上增加了Qt操作表格处理软件Excel数据和字处理软件Word数据的内容。第2部分为Qt综合实例,重新设计了电子商城系统、MyWord字处理软件、微信客户端程序。第3部分为Qt扩展应用OpenCV,首先配置OpenCV—3.4.3,然后介绍典型图片处理。第4部分为QML和Qt Quick及其应用,介绍了QML及Qt Quick相关内容,【综合实例】为多功能文档查看器。第5部分为附录,介绍了C++相关知识和Qt 5简单调试。本书提供配套的视频分析,分析本书重点内容和综合实例;为了方便读者上机练习,书中实例提供源代码编号CH×××。配套的视频分析和源代码可从华信教育资源网(http://www.hxedu.com.cn)免费下载。本书既可作为Qt的学习和参考用书,也可作为大学教材或Qt 5培训用书。

第1部分 Qt基础 1

第1章 Qt概述 1

1.1 什么是Qt 1

1.2 Qt 5的安装 2

1.2.1 下载Qt和申请免费账号 2

1.2.2 安装Qt 5.11 4

1.2.3 运行Qt Creator 6

1.2.4 Qt 5开发环境 7

1.3 Qt 5开发步骤及实例 8

1.3.1 设计器Qt Designer实现 9

1.3.2 代码实现简单实例 15

1.3.3 Qt低版本实例迁移 18

L1.2 Qt 5的安装:概念解析 19

伙伴编辑模式(Edit Buddies) 19

L1.3 Qt 5开发步骤及实例:概念解析 19

L1 信号和槽机制(Signal & Slot) 19

L2 Qt 5元对象系统 21

L3 布局管理器 21

第2章 Qt 5模板库、工具类及控件 22

2.1 字符串类 22

2.1.1 操作字符串 22

2.1.2 查询字符串数据 23

2.1.3 字符串的转换 24

2.2 容器类 25

2.2.1 QList类、QLinkedList类和QVector类 26

2.2.2 QMap类和QHash类 31

2.3 QVariant类 33

2.4 算法及正则表达式 36

2.4.1 Qt 5常用算法 36

2.4.2 基本的正则表达式 37

2.5 控件 37

2.5.1 按钮组(Buttons) 38

2.5.2 输入部件组(Input Widgets) 39

2.5.3 显示控件组(Display Widgets) 40

2.5.4 空间间隔组(Spacers) 41

2.5.5 布局管理组(Layouts) 41

2.5.6 容器组(Containers) 42

2.5.7 项目视图组(Item Views) 44

2.5.8 项目控件组(Item Widgets) 46

2.5.9 小综合例子 49

L2.1 字符串类QString:概念解析 52

L1 隐式共享 52

L2 内存分配策略 53

L2.5 Qt 5控件:概念解析 54

Qt:: WindowFlags枚举类型 54

第3章 Qt 5布局管理 56

3.1 分割窗口QSplitter类 56

3.2 停靠窗口QDockWidget类 58

3.3 堆栈窗体QStackedWidget类 61

3.4 基本布局(QLayout) 63

3.5 【综合实例】(CH305):修改用户资料 68

第4章 Qt 5基本对话框 78

4.1 标准文件对话框类 81

4.1.1 函数说明 81

4.1.2 创建步骤 82

4.2 标准颜色对话框类 83

4.2.1 函数说明 83

4.2.2 创建步骤 83

4.3 标准字体对话框类 84

4.3.1 函数说明 84

4.3.2 创建步骤 84

4.4 标准输入对话框类 85

4.4.1 标准字符串输入对话框 88

4.4.2 标准条目选择对话框 89

4.4.3 标准int类型输入对话框 89

4.4.4 标准double类型输入对话框 90

4.5 消息对话框类 91

4.5.1 Question消息框 93

4.5.2 Information消息框 94

4.5.3 Warning消息框 95

4.5.4 Critical消息框 96

4.5.5 About消息框 96

4.5.6 About Qt消息框 97

4.6 自定义消息框 97

4.7 工具盒类 98

4.8 进度条 102

4.9 调色板与电子钟 106

4.9.1 QPalette类 106

4.9.2 QTime类 112

4.9.3 【综合实例】电子时钟 112

4.10 可扩展对话框 115

4.11 不规则窗体 118

4.12 程序启动画面(QSplashScreen) 121

第5章 Qt 5主窗口 123

5.1 Qt 5主窗口构成 123

5.1.1 基本元素 123

5.1.2 【综合实例】文本编辑器 124

5.1.3 菜单与工具栏的实现 127

5.2 Qt 5文件操作功能 132

5.2.1 新建文件 132

5.2.2 打开文件 132

5.2.3 打印文件 134

5.3 Qt 5图像坐标变换 137

5.3.1 缩放功能 137

5.3.2 旋转功能 138

5.3.3 镜像功能 140

5.4 Qt 5文本编辑功能 141

5.4.1 设置字体 144

5.4.2 设置字号 144

5.4.3 设置文字加粗 144

5.4.4 设置文字斜体 145

5.4.5 设置文字加下画线 145

5.4.6 设置文字颜色 145

5.4.7 设置字符格式 146

5.5 Qt 5排版功能 146

5.5.1 实现段落对齐 148

5.5.2 实现文本排序 148

第6章 Qt 5图形与图片 152

6.1 Qt 5位置相关函数 152

6.1.1 区别概述 152

6.1.2 【实例】位置函数的应用 153

6.2 Qt 5基础图形的绘制 156

6.2.1 绘图框架设计 156

6.2.2 绘图区的实现 157

6.2.3 主窗口的实现 161

6.3 Qt 5双缓冲机制 173

6.3.1 原理与设计 173

6.3.2 绘图区的实现 174

6.3.3 主窗口的实现 178

6.4 显示Qt 5 SVG格式图片 180

L6.4 Qt 5 SVG格式图片显示:概念解析 185

XML 185

第7章 Qt 5图形视图框架 187

7.1 图形视图体系结构 187

7.1.1 Graphics View框架结构的主要特点 187

7.1.2 Graphics View框架结构的三元素 187

7.1.3 GraphicsView框架结构的坐标系统 189

7.2 【实例】图形视图 190

7.2.1 飞舞的蝴蝶 190

7.2.2 地图浏览器 194

7.2.3 图元创建 198

7.2.4 图元的旋转、缩放、切变和位移 207

第8章 Qt 5模型/视图结构 214

8.1 概述 214

8.1.1 基本概念 214

8.1.2 【实例】模型/视图类使用 215

8.2 模型(Model) 217

8.3 视图(View) 220

8.4 代理(Delegate) 232

第9章 Qt 5文件及磁盘处理 240

9.1 读写文本文件 240

9.1.1 使用QFile类读写文本 240

9.1.2 使用QTextStream类读写文本 241

9.2 读写二进制文件 243

9.3 目录操作与文件系统 245

9.3.1 文件大小及路径获取实例 246

9.3.2 文件系统浏览 247

9.4 获取文件信息 251

9.5 监视文件和目录变化 255

第10章 Qt 5网络与通信 257

10.1 获取本机网络信息 257

10.2 基于UDP的网络广播程序 260

10.2.1 UDP工作原理 260

10.2.2 UDP编程模型 261

10.2.3 【实例】UDP服务器编程 261

10.2.4 【实例】UDP客户端编程 264

10.3 基于TCP的网络聊天室程序 266

10.3.1 TCP工作原理 267

10.3.2 TCP编程模型 267

10.3.3 【实例】TCP服务器端编程 267

10.3.4 【实例】TCP客户端编程 273

10.4 Qt网络应用开发初步 278

10.4.1 【实例】简单网页浏览器 279

10.4.2 文件下载实例 280

第11章 Qt 5事件处理及实例 283

11.1 鼠标事件及实例 283

11.2 键盘事件及实例 285

11.3 事件过滤及实例 291

第12章 Qt 5多线程 297

12.1 多线程及简单实例 297

12.2 多线程控制 301

12.2.1 互斥量 301

12.2.2 信号量 302

12.2.3 线程等待与唤醒 305

12.3 多线程应用 309

12.3.1 【实例】服务器端编程 309

12.3.2 【实例】客户端编程 313

第13章 Qt 5数据库 318

13.1 数据库基本概念 318

13.2 常用SQL命令 321

13.2.1 数据查询 321

13.2.2 数据操作 324

13.3 Qt操作数据库及实例 325

13.3.1 Qt操作SQLite数据库 326

13.3.2 Qt操作主/从视图及XML 332

第14章 Qt 5操作Office实例 359

14.1 Qt操作Office的基本方式 359

14.1.1 QAxObject对象访问 359

14.1.2 AxWidget界面显示 361

14.1.3 项目配置 362

14.2 Qt对Office的基本读写 363

14.2.1 程序界面 363

14.2.2 全局变量及方法 364

14.2.3 对Excel的读写 365

14.2.4 对Word的读写 367

14.3 Excel公式计算及显示:统计高考录取人数与录取率 369

14.3.1 程序界面 369

14.3.2 全局变量及方法 370

14.3.3 功能实现 371

14.3.4 运行演示 373

14.4 Qt操作Word应用 375

14.4.1 读取Word表格数据:中国历年高考数据检索 375

14.4.2 向文档输出表格:输出近5年的高考信息统计表 378

第15章 Qt 5多国语言国际化 384

15.1 基本概念 384

15.1.1 国际化支持的实现 384

15.1.2 翻译工作:“*.qm”文件的生成 385

15.2 【实例】语言国际化应用 385

15.2.1 简单测试 385

15.2.2 选择语言翻译文字 389

第16章 Qt 5单元测试框架 394

16.1 QTestLib框架 394

16.2 简单的Qt单元测试 394

16.3 数据驱动测试 398

16.4 简单性能测试 401

第2部分 Qt综合实例 403

第17章 【综合实例】电子商城系统 403

17.1 商品管理系统功能需求 403

17.1.1 登录功能 403

17.1.2 新品入库功能 404

17.1.3 预售订单功能 404

17.2 项目开发准备 405

17.2.1 项目配置 405

17.2.2 数据库准备 407

17.3 商品管理系统界面设计 411

17.3.1 总体设计 411

17.3.2 “新品入库”页 412

17.3.3 “预售订单”页 413

17.3.4 登录窗口 414

17.4 商品管理系统功能实现 417

17.4.1 登录功能实现 417

17.4.2 主体程序框架 419

17.4.3 界面初始化功能实现 424

17.4.4 新品入库功能实现 427

17.4.5 预售订单功能实现 429

17.5 商品管理系统运行演示 431

17.5.1 登录电子商城 431

17.5.2 新品入库和清仓 432

17.5.3 预售下订单 432

第18章 【综合实例】MyWord字处理软件 434

18.1 核心功能界面演示 434

18.2 界面设计与开发 435

18.2.1 菜单系统设计 435

18.2.2 工具栏设计 443

18.2.3 建立MDI程序框架 446

18.2.4 子窗口管理 449

18.2.5 界面生成试运行 456

18.3 基本编辑功能实现 456

18.3.1 打开文档 456

18.3.2 保存文档 459

18.3.3 文档操作 462

18.4 文档排版美化功能实现 464

18.4.1 字体格式设置 464

18.4.2 段落对齐设置 467

18.4.3 颜色设置 469

18.4.4 段落标号、编号 470

18.4.5 文档打印与预览 473

第19章 【综合实例】微信客户端程序 476

19.1 界面设计与开发 476

19.1.1 核心功能界面演示 476

19.1.2 登录对话框设计 479

19.1.3 聊天窗口设计 480

19.1.4 文件传输服务器界面设计 482

19.1.5 文件传输客户端界面设计 483

19.2 登录功能实现 483

19.3 基本聊天会话功能实现 486

19.3.1 基本原理 487

19.3.2 消息类型与UDP广播 487

19.3.3 会话过程的处理 492

19.3.4 聊天程序试运行 494

19.4 文件传输功能实现 494

19.4.1 基本原理 494

19.4.2 服务器开发 495

19.4.3 客户端开发 500

19.4.4 主界面的控制 503

19.4.5 文件传输试验 506

第3部分 Qt扩展应用:OpenCV 509

第20章 Qt 5.11.1+OpenCV(含Contrib)-3.4.3环境搭建 509

20.1 安装CMake 509

20.2 添加系统环境变量 510

20.3 下载OpenCV 510

20.4 下载Contrib 511

20.5 编译前准备 512

20.6 编译配置 515

20.7 开始编译 519

20.8 安装OpenCV库 520

第21章 OpenCV图片处理 522

21.1 图片美化 523

21.1.1 图片增强 523

21.1.2 平滑滤波 529

21.2 多图合成 535

21.2.1 程序界面 536

21.2.2 全局变量及方法 537

21.2.3 初始化显示 537

21.2.4 功能实现 538

21.2.5 运行效果 539

21.3 图片旋转缩放 540

21.3.1 程序界面 540

21.3.2 全局变量及方法 541

21.3.3 初始化显示 542

21.3.4 功能实现 543

21.3.5 运行效果 544

21.4 图片智能识别 545

21.4.1 寻找匹配物体 545

21.4.2 人脸识别 550

第22章 【综合实例】医院远程诊断系统 555

22.1 远程诊断系统功能需求 555

22.1.1 诊疗点科室管理 555

22.1.2 CT影像显示和处理 556

22.1.3 患者信息选项卡 556

22.1.4 后台数据库浏览 556

22.1.5 界面的总体效果 557

22.2 Qt项目工程创建与配置 557

22.3 远程诊疗系统界面设计 560

22.4 远程诊疗系统功能实现 563

22.4.1 数据库准备 563

22.4.2 Qt应用程序主体框架 565

22.4.3 界面初始化功能实现 570

22.4.4 诊断功能实现 572

22.4.5 患者信息表单 574

22.5 远程诊疗系统运行演示 576

22.5.1 启动、连接数据库 576

22.5.2 执行诊断分析 577

22.5.3 表单信息联动 579

22.5.4 查看病历 579

第4部分 QML和Qt Quick及其应用 580

第23章 QML编程基础 580

23.1 QML概述 580

23.1.1 第一个QML程序 581

23.1.2 QML文档构成 584

23.1.3 QML基本语法 584

23.2 QML可视元素 587

23.2.1 Rectangle(矩形)元素 587

23.2.2 Image(图像)元素 589

23.2.3 Text(文本)元素 590

23.2.4 自定义元素(组件) 592

23.3 QML元素布局 594

23.3.1 Positioner(定位器) 594

23.3.2 Anchor(锚) 598

23.4 QML事件处理 602

23.4.1 鼠标事件 602

23.4.2 键盘事件 604

23.4.3 输入控件与焦点 606

23.5 QML集成JavaScript 609

23.5.1 调用JavaScript函数 609

23.5.2 导入JS文件 610

第24章 QML动画特效 613

24.1 QML动画元素 613

24.1.1 Property Animation元素 613

24.1.2 其他动画元素 618

24.1.3 Animator元素 620

24.2 动画流UI界面 621

24.2.1 状态和切换 622

24.2.2 设计组合动画 625

24.3 图像特效 627

24.3.1 3D旋转 627

24.3.2 色彩处理 629

24.4 Qt 5.5(Qt Quick Extras 1.4)新增饼状菜单 631

第25章 Qt Quick Controls开发基础 634

25.1 Qt Quick Controls概述 634

25.1.1 第一个Qt Quick Controls程序 634

25.1.2 Qt Quick窗体应用程序的构成 636

25.2 Qt Quick控件 640

25.2.1 概述 640

25.2.2 基本控件 641

25.2.3 高级控件 646

25.2.4 样式定制 650

25.3 Qt Quick对话框 657

25.4 Qt Quick导航视图 662

25.5 Qt 5.5(Qt Quick Controls 1.4)新增组件 667

第26章 Qt Quick Controls 2新颖界面开发 671

26.1 Qt Quick Controls 2简介 671

26.1.1 第一个Qt Quick Controls 2程序 672

26.1.2 Qt Quick Controls 2程序的构成 675

26.2 Qt Quick Controls 2与Qt Quick Controls 1的比较 678

26.2.1 ApplicationWindow结构不同 678

26.2.2 Menu不支持窗口主菜单 681

26.2.3 控件实现差异 683

26.3 滑动翻页及隐藏面板 688

26.4 选项列表 693

26.5 带功能按钮的列表 696

第27章 【综合实例】多功能文档查看器 702

27.1 核心功能界面演示 702

27.2 界面与程序框架设计 703

27.2.1 准备应用资源 704

27.2.2 主程序代码框架 705

27.3 浏览网页功能实现 712

27.3.1 实现HtmlHandler处理器 712

27.3.2 编写Action 716

27.3.3 定义主显示区元素 716

27.3.4 实现“打开网页”对话框 716

27.4 阅读文本功能实现 717

27.4.1 实现TextHandler处理器 718

27.4.2 编写Action 721

27.4.3 定义主显示区元素 722

27.4.4 实现“打开文本”对话框 722

27.5 查看图片功能实现 723

27.5.1 编写Action 723

27.5.2 定义主显示区元素 725

27.5.3 实现“打开图片”对话框 725

27.5.4 对图片的处理 726

第5部分 附录 727

附录A C++相关知识 727

A.1 C++程序结构 727

A.2 C++预处理命令 728

A.3 C++异常处理 730

A.4 C++面向对象编程 732

附录B Qt 5简单调试 741

B.1 修正语法错误 741

B.2 设置断点 742

B.3 程序调试运行 742

B.4 查看和修改变量的值 743

B.5 qDebug()的用法 745