Qt5开发及实例(第3版)图书
人气:11

Qt5开发及实例(第3版)

Qt是软件开发领域非常著名的C 可视化开发平台,目前*版本为Qt 5.8。本书以Qt 5.8为平台,介绍Qt环境、模板库工具类及控件、布局管理、基本对话框、主窗口、图形与图片、图形视图框架、模型/视图结构、文件及磁盘处...

内容简介

Qt是软件开发领域非常著名的C 可视化开发平台,目前版本为Qt 5.8。本书以Qt 5.8为平台,介绍Qt环境、模板库工具类及控件、布局管理、基本对话框、主窗口、图形与图片、图形视图框架、模型/视图结构、文件及磁盘处理、网络与通信、事件处理及实例、多线程、数据库、多国语言国际化、单元测试框架、QML编程基础、QML动画特效、Qt Quick Controls开发基础和Qt Quick Controls 2新颖界面开发。每个章节在简单介绍开发环境的基础上,用一个小实例介绍Qt 5应用程序开发的各个方面,然后系统介绍Qt应用程序开发技术,通过实例介绍来理解内容。后利用综合实例应用Qt 主要内容。综合实例包括汽车销售管理系统、Qt版Word字处理软件、Qt版聊天软件和多功能文档查看器。本书在保持前面版本特点的基础上,重新整编原有内容,重新构建和调试所有实例,同时将Qt 5.5和Qt 5.8新组件和功能融入其中,同步配套相应的实例,对新增加的Qt Quick Controls 2专门增加一章进行介绍。通过几个大综合实例应用Qt主要内容。本书包含很多实例,为了方便读者上机练习,在书中实例介绍时提供源代码编号CH,这些代码和配套课件通过光盘直接提供,同时可在华信教育资源网(www.hxedu.com.cn)上免费下载。本书既可作为Qt 的学习和参考用书,也可作为大学教材或Qt 5培训用书。

作者简介

陆文周,高级工程师,毕业于东南大学。早年任职于东南大学机械系,从事工程材料、机械制造基础、微机原理、机械设计等课程教学与数控机床设计,后到苏州工业园区多家企业任职。2008年至今,任职于上海恒动新能源有限公司。

目录

目 录

第1章 Qt概述1

1.1 什么是Qt1

1.2 Qt 5的安装2

1.2.1 下载安装Qt 52

1.2.2 运行Qt 5 Creator5

1.2.3 Qt 5开发环境6

1.3 Qt 5开发步骤及实例8

1.3.1 设计器Qt 5 Designer实现8

1.3.2 代码实现简单实例15

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

伙伴编辑模式(Edit Buddies)18

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 查询字符串数据24

2.1.3 字符串的转换24

2.2 容器类26

2.2.1 QList类、QLinkedList类和QVector类26

2.2.2 QMap类和QHash类32

2.3 QVariant类35

2.4 算法及正则表达式37

2.4.1 Qt 5常用算法37

2.4.2 基本的正则表达式38

2.5 控件39

2.5.1 按钮组(Buttons)40

2.5.2 输入部件组(Input Widgets)41

2.5.3 显示控件组(Display Widgets)43

2.5.4 空间间隔组(Spacers)44

2.5.5 布局管理组(Layouts)44

2.5.6 容器组(Containers)44

2.5.7 项目视图组(Item Views)47

2.5.8 项目控件组(Item Widgets)49

2.5.9 小综合例子53

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

L1 隐式共享56

L2 内存分配策略58

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

Qt::WindowFlags枚举类型58

第3章 Qt 5布局管理61

3.1 分割窗口QSplitter类61

3.2 停靠窗口QDockWidget类63

3.3 堆栈窗体QStackedWidget类66

3.4 基本布局(QLayout)69

3.5 [综合实例]:修改用户资料74

第4章 Qt 5基本对话框86

4.1 标准文件对话框类90

4.1.1 函数说明90

4.1.2 创建步骤91

4.2 标准颜色对话框类92

4.2.1 函数说明92

4.2.2 创建步骤92

4.3 标准字体对话框类93

4.3.1 函数说明93

4.3.2 创建步骤94

4.4 标准输入对话框类94

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

4.4.2 标准条目选择对话框98

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

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

4.5 消息对话框类101

4.5.1 Question消息框104

4.5.2 Information消息框105

4.5.3 Warning消息框105

4.5.4 Critical消息框106

4.5.5 About消息框107

4.5.6 About Qt消息框107

4.6 自定义消息框108

4.7 工具盒类109

4.8 进度条114

4.9 调色板与电子钟118

4.9.1 QPalette类118

4.9.2 QTime类124

4.9.3 [综合实例]:电子时钟125

4.10 可扩展对话框128

4.11 不规则窗体131

4.12 程序启动画面(QSplashScreen)134

第5章 Qt 5主窗口137

5.1 Qt 5主窗口构成137

5.1.1 基本元素137

5.1.2 [综合实例]:文本编辑器138

5.1.3 菜单与工具栏的实现142

5.2 Qt 5文件操作功能147

5.2.1 新建文件147

5.2.2 打开文件148

5.2.3 打印文件150

5.3 Qt 5图像坐标变换153

5.3.1 缩放功能153

5.3.2 旋转功能154

5.3.3 镜像功能156

5.4 Qt 5文本编辑功能157

5.4.1 设置字体160

5.4.2 设置字号161

5.4.3 设置文字加粗161

5.4.4 设置文字斜体161

5.4.5 设置文字加下画线162

5.4.6 设置文字颜色162

5.4.7 设置字符格式163

5.5 Qt 5排版功能163

5.5.1 实现段落对齐164

5.5.2 实现文本排序165

第6章 Qt 5图形与图片169

6.1 Qt 5位置相关函数169

6.1.1 区别概述169

6.1.2 [实例]:位置函数的使用170

6.2 Qt 5基础图形的绘制174

6.2.1 绘图框架设计174

6.2.2 绘图区的实现175

6.2.3 主窗口的实现180

6.3 Qt 5双缓冲机制193

6.3.1 原理与设计193

6.3.2 绘图区的实现195

6.3.3 主窗口的实现198

6.4 显示Qt 5 SVG格式图片201

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

XML207

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

7.1 图形视图体系结构209

7.1.1 Graphics View的特点209

7.1.2 Graphics View的三元素209

7.1.3 GraphicsView的坐标系统211

7.2 [实例]:图形视图213

7.2.1 飞舞的蝴蝶213

7.2.2 地图浏览器216

7.2.3 图元创建222

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

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

8.1 概述239

8.1.1 基本概念240

8.1.2 [实例]:模型/视图类使用240

8.2 模型(Model)242

8.3 视图(View)246

8.4 (Delegate)259

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

9.1 读写文本文件268

9.1.1 QFile类读写文本268

9.1.2 QTextStream类读写文本270

9.2 读写二进制文件272

9.3 目录操作与文件系统274

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

9.3.2 文件系统浏览276

9.4 获取文件信息280

9.5 监视文件和目录变化284

第10章 Qt 5网络与通信287

10.1 获取本机网络信息287

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

10.2.1 UDP协议工作原理291

10.2.2 UDP 编程模型291

10.2.3 [实例]:UDP服务器编程292

10.2.4 [实例]:UDP客户端编程294

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

10.3.1 TCP协议工作原理298

10.3.2 TCP编程模型298

10.3.3 [实例]:TCP服务器编程299

10.3.4 [实例]:TCP客户端编程305

10.4 Qt网络应用开发初步310

10.4.1 [实例]:简单网页浏览器311

10.4.2 文件下载实例312

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

11.1 鼠标事件及实例316

11.2 键盘事件及实例319

11.3 事件过滤及实例325

第12章 Qt 5多线程331

12.1 多线程及简单实例331

12.2 多线程控制335

12.2.1 互斥量336

12.2.2 信号量337

12.2.3 线程等待与唤醒341

12.3 多线程应用344

12.3.1 [实例]:服务器编程344

12.3.2 [实例]:客户端编程349

第13章 Qt 5数据库354

13.1 数据库基本概念354

13.2 常用SQL命令357

13.2.1 数据查询357

13.2.2 数据操作361

13.3 Qt操作数据库及实例362

13.3.1 Qt操作SQLite数据库363

13.3.2 Qt操作主/从视图及XML369

第14章 Qt 5多国语言国际化400

14.1 基本概念400

14.1.1 国际化支持的实现400

14.1.2 翻译工作:".qm"文件的生成401

14.2 [实例]:国际化测试402

14.2.1 简单测试402

14.2.2 选择语言翻译文字406

第15章 Qt 5单元测试框架411

15.1 QTestLib框架411

15.2 简单的Qt单元测试411

15.3 数据驱动测试416

15.4 简单性能测试419

第16章 [综合实例]:汽车销售管理系统421

16.1 功能介绍与界面设计421

16.1.1 功能简介421

16.1.2 主界面设计422

16.1.3 菜单设计423

16.2 实现品牌车管理功能425

16.2.1 出售车辆425

16.2.2 日销售清单431

16.3 销售统计图表功能436

16.3.1 视图设计436

16.3.2 界面设计440

16.4 添加登录界面443

第17章 [综合实例]:Qt版Word字处理软件447

17.1 核心功能界面演示447

17.2 界面设计与开发448

17.2.1 建立MDI程序框架449

17.2.2 菜单系统设计453

17.2.3 工具栏设计464

17.2.4 子窗口管理468

17.2.5 界面生成试运行475

17.3 基本编辑功能实现479

17.3.1 打开文件479

17.3.2 保存文件482

17.3.3 文本操作485

17.4 文档排版美化功能实现487

17.4.1 字体格式设置487

17.4.2 段落对齐设置490

17.4.3 颜色设置491

17.4.4 段落标号、编号492

17.4.5 文档打印与预览495

第18章 [综合实例]:Qt版聊天软件498

18.1 核心功能界面演示498

18.2 界面设计与开发499

18.2.1 创建"抽屉盒"499

18.2.2 设计聊天窗口504

18.2.3 将图片按钮与聊天窗口关联506

18.3 基本聊天会话功能实现511

18.3.1 基本原理511

18.3.2 消息类型与UDP广播512

18.3.3 会话过程的处理516

18.3.4 聊天程序试运行518

18.4 文件传输功能实现519

18.4.1 需求方案519

18.4.2 服务器开发520

18.4.3 客户端开发526

18.4.4 主界面的控制531

18.4.5 文件传输试验534

18.5 附加功能实现535

18.5.1 更改字体、字号和颜色535

18.5.2 字体切换537

18.5.3 保存和清除聊天记录538

第19章 QML编程基础540

19.1 QML概述540

19.1.1 及时个QML程序540

19.1.2 QML文档构成543

19.1.3 QML基本语法544

19.2 QML可视元素547

19.2.1 Rectangle(矩形)元素547

19.2.2 Image(图像)元素549

19.2.3 Text(文本)元素550

19.2.4 自定义元素(组件)552

19.3 QML元素布局555

19.3.1 Positioner(定位器)555

19.3.2 Anchor(锚)559

19.4 QML事件处理564

19.4.1 鼠标事件564

19.4.2 键盘事件566

19.4.3 输入控件与焦点569

19.5 QML集成JavaScript571

19.5.1 调用JavaScript函数571

19.5.2 导入JS文件573

第20章 QML动画特效576

20.1 QML动画元素576

20.1.1 PropertyAnimation元素576

20.1.2 其他动画元素581

20.1.3 Animator元素583

20.2 动画流UI界面585

20.2.1 状态和切换586

20.2.2 设计组合动画589

20.3 图像特效592

20.3.1 3D旋转592

20.3.2 色彩处理

免责声明

更多相关图书
在线咨询