首页计算机与互联网书籍详情

《Qt5开发及实例(第3版)》

计算机与互联网

价格:78.20

内容简介

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×××,这些代码和配套课件通过光盘直接提供,同时可在华信教育资源网(http:http://www.hxedu.com.cn)上免费下载。本书既可作为Qt 的学习和参考用书,也可作为大学教材或Qt 5培训用书。

作者简介

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

目录

第1章Qt概述 1
1.1什么是Qt 1
1.2Qt 5的安装 2
1.2.1下载安装Qt 5 2
1.2.2运行Qt 5 Creator 5
1.2.3Qt 5开发环境 6
1.3Qt 5开发步骤及实例 8
1.3.1设计器Qt 5 Designer实现 8
1.3.2代码实现简单实例 15
L1.2Qt 5安装:概念解析 18
伙伴编辑模式(Edit Buddies) 18
L1.3Qt 5开发步骤及实例:概念解析 19
L1信号和槽机制(Signal & Slot) 19
L2Qt 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.1QList类、QLinkedList类和QVector类 26
2.2.2QMap类和QHash类 32
2.3QVariant类 35
2.4算法及正则表达式 37
2.4.1Qt 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.5Qt 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.1Question消息框 104
4.5.2Information消息框 105
4.5.3Warning消息框 105
4.5.4Critical消息框 106
4.5.5About消息框 107
4.5.6About Qt消息框 107
4.6自定义消息框 108
4.7工具盒类 109
4.8进度条 114
4.9调色板与电子钟 118
4.9.1QPalette类 118
4.9.2QTime类 124
4.9.3 【综合实例】:电子时钟 125
4.10可扩展对话框 128
4.11不规则窗体 131
4.12程序启动画面(QSplashScreen) 134
第5章Qt 5主窗口 137
5.1Qt 5主窗口构成 137
5.1.1基本元素 137
5.1.2 【综合实例】:文本编辑器 138
5.1.3菜单与工具栏的实现 142
5.2Qt 5文件操作功能 147
5.2.1新建文件 147
5.2.2打开文件 148
5.2.3打印文件 150
5.3Qt 5图像坐标变换 153
5.3.1缩放功能 153
5.3.2旋转功能 154
5.3.3镜像功能 156
5.4Qt 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.5Qt 5排版功能 163
5.5.1实现段落对齐 164
5.5.2实现文本排序 165
第6章Qt 5图形与图片 169
6.1Qt 5位置相关函数 169
6.1.1区别概述 169
6.1.2 【实例】:位置函数的使用 170
6.2Qt 5基础图形的绘制 174
6.2.1绘图框架设计 174
6.2.2绘图区的实现 175
6.2.3主窗口的实现 180
6.3Qt 5双缓冲机制 193
6.3.1原理与设计 193
6.3.2绘图区的实现 195
6.3.3主窗口的实现 198
6.4显示Qt 5 SVG格式图片 201
L6.4Qt 5 SVG格式图片显示:概念解析 207
XML 207
第7章Qt 5图形视图框架 209
7.1图形视图体系结构 209
7.1.1Graphics View的特点 209
7.1.2Graphics View的三元素 209
7.1.3GraphicsView的坐标系统 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.1QFile类读写文本 268
9.1.2QTextStream类读写文本 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.1UDP协议工作原理 291
10.2.2UDP 编程模型 291
10.2.3 【实例】:UDP服务器编程 292
10.2.4 【实例】:UDP客户端编程 294
10.3基于TCP的网络聊天室程序 297
10.3.1TCP协议工作原理 298
10.3.2TCP编程模型 298
10.3.3 【实例】:TCP服务器编程 299
10.3.4 【实例】:TCP客户端编程 305
10.4Qt网络应用开发初步 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.3Qt操作数据库及实例 362
13.3.1Qt操作SQLite数据库 363
13.3.2Qt操作主/从视图及XML 369
第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.1QTestLib框架 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.1QML概述 540
19.1.1第一个QML程序 540
19.1.2QML文档构成 543
19.1.3QML基本语法 544
19.2QML可视元素 547
19.2.1Rectangle(矩形)元素 547
19.2.2Image(图像)元素 549
19.2.3Text(文本)元素 550
19.2.4自定义元素(组件) 552
19.3QML元素布局 555
19.3.1Positioner(定位器) 555
19.3.2Anchor(锚) 559
19.4QML事件处理 564
19.4.1鼠标事件 564
19.4.2键盘事件 566
19.4.3输入控件与焦点 569
19.5QML集成JavaScript 571
19.5.1调用JavaScript函数 571
19.5.2导入JS文件 573
第20章QML动画特效 576
20.1QML动画元素 576
20.1.1PropertyAnimation元素 576
20.1.2其他动画元素 581
20.1.3Animator元素 583
20.2动画流UI界面 585
20.2.1状态和切换 586
20.2.2设计组合动画 589
20.3图像特效 592
20.3.13D旋转 592
20.3.2色彩处理 594
20.4Qt 5.5(Qt Quick Extras 1.4)新增饼状菜单 596
第21章Qt Quick Controls开发基础 599
21.1Qt Quick Controls概述 599
21.1.1第一个Qt Quick Controls程序 599
21.1.2Qt Quick窗体应用程序的构成 601
21.2Qt Quick控件 606
21.2.1概述 606
21.2.2基本控件 607
21.2.3高级控件 612
21.2.4样式定制 617
21.3Qt Quick对话框 625
21.4Qt Quick导航视图 631
21.5Qt 5.5(Qt Quick Controls 1.4)新增组件 636
第22章Qt Quick Controls 2新颖界面开发 641
22.1Qt Quick Controls 2简介 641
22.1.1第一个Qt Quick Controls 2程序 642
22.1.2Qt Quick Controls 2程序的构成 645
22.2Qt Quick Controls 2与1的比较 649
22.2.1ApplicationWindow结构不同 649
22.2.2Menu不支持窗口主菜单 653
22.2.3控件实现差异 655
22.3滑动翻页及隐藏面板 660
22.4选项列表 665
22.5带功能按钮的列表 669
第23章【综合实例】:多功能文档查看器 676
23.1核心功能界面演示 676
23.2界面与程序框架设计 678
23.2.1准备应用资源 679
23.2.2主程序代码框架 680
23.3浏览网页功能实现 687
23.3.1实现HtmlHandler处理器 687
23.3.2编写Action 692
23.3.3定义主显示区元素 692
23.3.4实现“打开网页”对话框 692
23.4阅读文本功能实现 693
23.4.1实现TextHandler处理器 694
23.4.2编写Action 697
23.4.3定义主显示区元素 698
23.4.4实现“打开文本”对话框 699
23.5查看图片功能实现 700
23.5.1编写Action 700
23.5.2定义主显示区元素 701
23.5.3实现“打开图片”对话框 702
23.5.4对图片的处理 703
附录 AC++相关知识 705
A.1C++程序结构 705
A.2C++预处理 706
A.3C++异常处理 708
A.4C++面向对象编程 711
附录 BQt 5简单调试 721
B.1修正语法错误 721
B.2设置断点 722
B.3程序调试运行 722
B.4查看和修改变量的值 723
B.5qDebug()的用法 726

前言/序言

前言

Qt是软件开发领域非常著名的C++可视化开发平台,能够为应用程序开发者提供建立艺术级图形用户界面所需的所有功能。它是完全面向对象的,很容易扩展,并且可应用于组件编程。目前,Qt的最新版本为Qt 5.8。

2014年,我们编写了《Qt 5开发及实例》,受到市场的广泛欢迎。2015年,《Qt 5开发及实例(第2版)》推出,它以Qt 5.4为平台,增加了QML及Qt Quick开发部分,继续受到市场的广泛推崇。

本书以Qt 5.8为平台,介绍Qt概述,Qt 5模板库、工具类及控件,Qt 5布局管理,Qt 5基本对话框,Qt 5主窗口,Qt 5图形与图片,Qt 5图形视图框架,Qt 5模型/视图结构,Qt 5文件及磁盘处理,Qt 5网络与通信,Qt 5事件处理及实例,Qt 5多线程,Qt 5数据库,Qt 5多国语言国际化,Qt 5单元测试框架,【综合实例】:汽车销售管理系统,【综合实例】:Qt版Word字处理软件,【综合实例】:Qt版聊天软件,QML编程基础,QML动画特效,Qt Quick Controls开发基础,Qt Quick Controls 2新颖界面开发,【综合实例】:多功能文档查看器;附录介绍C++相关知识和Qt简单调试。本书在保持前面版本特点的基础上,重新整编原有内容,重新构建和调试所有实例,同时将Qt 5.5和Qt 5.8新组件和功能融入其中,同步配套相应的实例,对新增加的Qt Quick Controls 2专门增加一章进行介绍。通过几个大综合实例应用Qt主要内容。

为了方便读者上机练习,在书中实例介绍时提供源代码编号CH×××(如CH201是第2章的01例),这些代码和配套课件通过光盘直接提供,同时可在华信教育资源网(http:http://www.hxedu.com.cn)上免费下载。

通过学习本书,结合实例上机练习,一般能够在比较短的时间内系统、全面地掌握Qt 5应用技术。

本书由陆文周主编。参加本书编写的还有曹弋、徐文胜、丁有和、殷红先、陈瀚、陈冬霞、邓拼搏、高茜、刘博宇、彭作民、钱晓军、孙德荣、陶卫冬、吴明祥、王志瑞、徐斌、俞琰、严大牛、郑进、周何骏、于金彬、马骏、周怡明、姜乃松、梁敬东等。

由于编者水平有限,错误之处在所难免,敬请广大读者、师生批评指正。

意见、建议邮箱:easybooks@163.com。

编者



略准好书推荐,每日精选优秀图书在线阅读,涵盖青春、文艺、人文、社科、经管、励志、亲子、两性、名著等多种品类。