科技>计算机>编程语言
Qt5开发及实例(第2版)(含CD光盘1张)

Qt5开发及实例(第2版)(含CD光盘1张)"

作者:陆文周
ISBN:9787121260445
定价:¥99.0
字数:1037千字
页数:700
出版时间:2015-05
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

Qt是十分著名的跨平台C++可视化开发平台,Qt开源版提供了与商业版同样的功能,《Qt 5开发及实例》(第2版)在继承广受市场欢迎的《Qt 5开发及实例》(第1版)特点的同时,以Qt 5.4.0为平台,介绍QT应用开发更系统,可读性更强。本书主要分为两大部分:第一部分是传统的Qt Widget编程,每章在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5应用程序开发的各方面,然后系统介绍Qt 5应用程序的开发技术,一般均通过实例介绍和讲解内容。最后通过三个大实例,系统介绍Qt 5综合应用开发。第二部分是新增的QML及Qt Quick开发,包括QML编程基础、动画特效及Qt Quick的控件窗体程序设计,这部分同样以实例讲解知识点,并且在最后给出一个大综合实例。本书末章仍保留有老版Linux下Qt安装和使用的内容以方便读者。光盘中包含本书教学课件和书中所有实例的源代码及其相关文件。 通过学习本书,结合实例上机练习,一般能够在比较短的时间内系统地了解和掌握Qt 5各方面的应用技术。

前言

前 言 Qt是软件开发领域非常著名的C++可视化开发平台。与Visual C++相比,Qt简单方便、功能完善、跨平台、扩展能力强,可以用于嵌入式开发。它不仅是全世界范围内千万种成功应用程序的基础,也是目前流行的Linux桌面环境KDE 的基础。Qt是一个跨平台的C++图形用户界面应用程序框架(C++ GUI),能够为应用程序开发者提供建立艺术级图形用户界面所需的所有功能。它是完全面向对象的,很容易扩展,并且可应用于组件编程。Qt目前最新版本为Qt 5.4。 Qt商业版为商业软件提供开发。它们为传统商业软件提供发行版并在协议有效期内提供免费升级和技术支持服务。而Qt开源版提供了与商业版同样的功能,在通用公共许可证下,它是免费的。从Qt 4.5起,Qt增添新开源LGPL授权选择,并且将Qt源代码库面向公众开放,Qt开发人员可通过为Qt及其相关项目贡献代码、翻译、示例及其他内容,协助引导和塑造Qt未来的发展。 如果需要可视化学习C++,需要利用C++开发应用系统,Qt是最佳的选择。 2014年,我们编写了《Qt 5开发及实例》(第1版),该书是市场上为数不多的比较系统介绍Qt 5的应用开发参考书,受到市场的广泛欢迎。 《Qt 5开发及实例》(第2版)以Qt 5.4为平台,循序渐进,通过不同实例对内容加以说明,将知识和能力融为一体。每个章节在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5.4应用程序开发的各个方面,然后系统介绍Qt 5.4应用程序开发技术,通过实例介绍来理解内容。最后利用大综合实例应用Qt 5.4主要内容。 此次改版新增了QML及Qt Quick开发部分,这也是Qt未来发展完善的方向,包括QML编程基础、动画特效及Qt Quick的控件窗体程序设计,这部分同样以实例介绍知识点,并且在最后给出一个大综合实例。 本书介绍内容时使用了很多实例,为了方便读者上机练习,在书中实例介绍时提供源代码编号CH×××(如CH201是第2章的01例),这些代码可在华信教育资源网上免费下载。 通过学习本书,结合实例上机练习,一般能够在比较短的时间内系统全面地掌握Qt 5应用技术。 本书由陆文周主编,许多同志帮助完成了基础工作,在此一并表示感谢! 参加本书编写的还有梁敬东、丁有和、曹弋、徐文胜、殷红先、张为民、姜乃松、钱晓军、彭作民、高茜、陈冬霞、徐斌、王志瑞、孙德荣、周怡明、刘博宇、郑进、刘启芬、周何骏、陶卫冬、严大牛、邓拼搏、俞琰、顾韵华、周怡君、吴明祥、于金彬、陈瀚、马俊等,在此一并表示感谢! 本书配有光盘,光盘中包含本书教学课件和书中所有实例源代码及其相关文件。华信教育资源网提供其他的服务,网站地址为http://www.hxedu.com.cn。 由于编者水平有限,错误之处在所难免,敬请广大读者、师生批评指正。 意见、建议邮箱:easybooks@163.com。 编 者 2015年2月

目录

目 录 第1章 Qt概述 1 1.1 什么是Qt 1 1.2 Qt 5的安装 2 1.2.1 下载Qt 5 2 1.2.2 运行Qt 5 Creator 3 1.2.3 Qt 5开发环境 4 1.3 Qt 5开发步骤及实例 5 1.3.1 设计器Qt 5 Designer实现 6 1.3.2 代码实现简单实例 14 L1.2 Qt 5安装:概念解析 16 伙伴编辑模式(Edit Buddy) 16 L1.3 Qt 5开发步骤及实例:概念解析 17 L1 信号和槽机制(Signal & Slot) 17 L2 Qt 5元对象系统 18 L3 布局管理器 19 第2章 Qt 5模板库、工具类及控件 20 2.1 字符串类 20 2.1.1 操作字符串 20 2.1.2 查询字符串数据 22 2.1.3 字符串的转换 22 2.2 容器类 24 2.2.1 QList类、QLinkedList类和QVector类 24 2.2.2 QMap类和QHash类 30 2.3 QVariant类 33 2.4 算法及正则表达式 35 2.4.1 Qt 5常用算法 35 2.4.2 基本的正则表达式 36 2.5 控件 37 2.5.1 按钮组(Buttons) 37 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 小综合例子 50 L2.1 字符串类QString:概念解析 53 L1 隐式共享 53 L2 内存分配策略 55 L2.5 Qt 5控件:概念解析 55 Qt5::WindowFlags枚举类型 55 第3章 Qt 5布局管理 58 3.1 分割窗口QSplitter类 58 3.2 停靠窗口QDockWidget类 60 3.3 堆栈窗体QStackedWidget类 63 3.4 基本布局(QLayout) 65 3.5 【综合实例】:修改用户资料 71 第4章 Qt 5基本对话框 83 4.1 标准文件对话框类 87 4.1.1 函数说明 87 4.1.2 创建步骤 87 4.2 标准颜色对话框类 88 4.2.1 函数说明 88 4.2.2 创建步骤 89 4.3 标准字体对话框类 90 4.3.1 函数说明 90 4.3.2 创建步骤 90 4.4 标准输入对话框类 91 4.4.1 标准字符串输入对话框 94 4.4.2 标准条目选择对话框 95 4.4.3 标准int类型输入对话框 96 4.4.4 标准double类型输入对话框 97 4.5 消息对话框类 97 4.5.1 Question消息框 100 4.5.2 Information消息框 101 4.5.3 Warning消息框 102 4.5.4 Critical消息框 103 4.5.5 About消息框 103 4.5.6 About Qt消息框 104 4.6 自定义消息框 104 4.7 工具盒类 106 4.8 进度条 111 4.9 调色板与电子钟 115 4.9.1 QPalette类 115 4.9.2 QTime类 121 4.9.3 【综合实例】:电子时钟 122 4.10 可扩展对话框 125 4.11 不规则窗体 128 4.12 程序启动画面(QSplashScreen) 131 第5章 Qt 5主窗体 134 5.1 Qt 5主窗体构成 134 5.1.1 基本元素 134 5.1.2 【综合实例】:文本编辑器 135 5.1.3 菜单与工具栏的实现 139 5.2 Qt 5文件操作功能 144 5.2.1 新建文件 144 5.2.2 打开文件 145 5.2.3 打印文件 147 5.3 Qt 5图像坐标变换 149 5.3.1 缩放功能 149 5.3.2 旋转功能 151 5.3.3 镜像功能 152 5.4 Qt 5文本编辑功能 154 5.4.1 设置字体 157 5.4.2 设置字号 157 5.4.3 设置文字加粗 158 5.4.4 设置字体倾斜 158 5.4.5 文字加下画线 158 5.4.6 设置文字颜色 159 5.4.7 设置字符格式 159 5.5 Qt 5排版功能 160 5.5.1 实现段落对齐 161 5.5.2 实现文本排序 162 第6章 Qt 5图形与图片 166 6.1 Qt 5位置相关函数 166 6.1.1 区别概述 166 6.1.2 【实例】 167 6.2 Qt 5基础图形的绘制 171 6.2.1 绘图框架设计 171 6.2.2 绘图区的实现 172 6.2.3 主窗口的实现 177 6.3 Qt 5双缓冲机制 190 6.3.1 原理与设计 190 6.3.2 绘图区的实现 192 6.3.3 主窗口的实现 195 6.4 显示Qt 5 SVG格式图片 198 L6.4 Qt 5 SVG格式图片显示:概念解析 204 XML 204 第7章 Qt 5图形视图框架 205 7.1 图形视图体系结构 205 7.1.1 Graphics View的特点 205 7.1.2 Graphics View的三元素 205 7.1.3 Graphics View的坐标系统 207 7.2 【实例】:图形视图 209 7.2.1 飞舞的蝴蝶 209 7.2.2 地图浏览器 212 7.2.3 图元创建 218 7.2.4 图元的旋转、缩放、切变和位移 228 第8章 Qt 5模型/视图结构 235 8.1 概述 235 8.1.1 基本概念 236 8.1.2 【实例】:模型/视图类使用 236 8.2 模型(Model) 238 8.3 视图(View) 242 8.4 代理(Delegate) 255 第9章 Qt 5文件及磁盘处理 264 9.1 读写文本文件 264 9.1.1 QFile类读写文本 264 9.1.2 QTextStream类读写文本 266 9.2 读写二进制文件 268 9.3 目录操作与文件系统 270 9.3.1 文件大小及路径获取实例 270 9.3.2 文件系统浏览实例 272 9.4 获取文件信息 276 9.5 监视文件和目录变化 280 第10章 Qt 5网络与通信 283 10.1 获取本机网络信息 283 10.2 基于UDP的网络广播程序 286 10.2.1 UDP协议工作原理 287 10.2.2 UDP 编程模型 287 10.2.3 【实例】:UDP服务器编程 288 10.2.4 【实例】:UDP客户端编程 290 10.3 基于TCP的网络聊天室程序 293 10.3.1 TCP协议工作原理 293 10.3.2 TCP编程模型 294 10.3.3 【实例】:TCP服务器编程 294 10.3.4 【实例】:TCP客户端编程 300 10.4 Qt网络应用开发初步 306 10.4.1 【实例】:简单网页浏览器 307 10.4.2 文件下载实例 308 第11章 Qt 5事件处理及实例 311 11.1 鼠标事件及实例 311 11.2 键盘事件及实例 314 11.3 事件过滤及实例 320 第12章 Qt 5多线程 326 12.1 多线程及简单实例 326 12.2 多线程控制 330 12.2.1 互斥量 331 12.2.2 信号量 332 12.2.3 线程等待与唤醒 335 12.3 多线程应用 339 12.3.1 【实例】:服务器编程 339 12.3.2 【实例】:客户端编程 344 第13章 Qt 5数据库 349 13.1 数据库基本概念 349 13.2 常用SQL命令 352 13.2.1 数据查询 352 13.2.2 数据操作 356 13.3 Qt操作数据库及实例 357 13.3.1 Qt操作SQLite数据库 358 13.3.2 Qt操作主/从视图及XML 364 第14章 Qt 5多国语言国际化 394 14.1 基本概念 394 14.1.1 国际化的支持的实现 394 14.1.2 翻译工作:“*.qm”文件的生成 395 14.2 【实例】 396 14.2.1 简单测试 396 14.2.2 选择语言翻译文字 399 第15章 Qt 5单元测试框架 404 15.1 QTestLib框架 404 15.2 简单的Qt单元测试 404 15.3 数据驱动测试 408 15.4 简单性能测试 412 第16章 【综合实例】:汽车销售管理系统 414 16.1 功能介绍与界面设计 414 16.1.1 功能简介 414 16.1.2 主界面设计 415 16.1.3 菜单设计 416 16.2 实现品牌车管理功能 418 16.2.1 出售车辆 418 16.2.2 日销售清单 423 16.3 销售统计图表功能 429 16.3.1 视图设计 429 16.3.2 界面设计 433 16.4 添加登录界面 435 第17章 【综合实例】:Qt版Word字处理软件 439 17.1 核心功能界面演示 439 17.2 界面设计与开发 440 17.2.1 建立MDI程序框架 441 17.2.2 菜单系统设计 445 17.2.3 工具栏设计 456 17.2.4 子窗口管理 460 17.2.5 界面生成试运行 467 17.3 基本编辑功能实现 471 17.3.1 打开文件 471 17.3.2 保存文件 474 17.3.3 文本操作 477 17.4 文档排版美化功能实现 479 17.4.1 字体格式设置 479 17.4.2 段落对齐设置 482 17.4.3 颜色设置 483 17.4.4 段落标号、编号 485 17.4.5 文档打印与预览 488 第18章 【综合实例】:Qt版聊天软件 491 18.1 核心功能界面演示 491 18.2 界面设计与开发 492 18.2.1 创建“抽屉盒” 492 18.2.2 设计聊天窗口 496 18.2.3 将图片按钮与聊天窗关联 499 18.3 基本聊天会话功能实现 503 18.3.1 基本原理 503 18.3.2 消息类型与UDP广播 504 18.3.3 会话过程的处理 509 18.3.4 聊天程序试运行 511 18.4 文件传输功能实现 511 18.4.1 需求方案 511 18.4.2 服务器开发 512 18.4.3 客户端开发 519 18.4.4 主界面的控制 523 18.4.5 文件传输试验 527 18.5 附加功能实现 527 18.5.1 更改字体、字号和颜色 527 18.5.2 字体切换 529 18.5.3 保存和清除聊天记录 530 第19章 QML编程基础 533 19.1 ML概述 533 19.1.1 第一个QML程序 533 19.1.2 QML文档构成 536 19.1.3 QML基本语法 536 19.2 QML可视元素 539 19.2.1 Rectangle(矩形)元素 539 19.2.2 Image(图像)元素 541 19.2.3 Text(文本)元素 542 19.2.4 自定义元素(组件) 544 19.3 QML元素布局 546 19.3.1 Positioner(定位器) 547 19.3.2 Anchor(锚) 551 19.4 QML事件处理 555 19.4.1 鼠标事件 555 19.4.2 键盘事件 558 19.4.3 输入控件与焦点 560 19.5 QML集成JavaScript 563 19.5.1 调用JavaScript函数 563 19.5.2 导入JS文件 564 第20章 QML动画特效 567 20.1 QML动画元素 567 20.1.1 PropertyAnimation元素 567 20.1.2 其他动画元素 572 20.1.3 Animator元素 574 20.2 动画流UI界面 576 20.2.1 状态和切换 576 20.2.2 设计组合动画 579 20.3 图像特效 582 20.3.1 3D旋转 582 20.3.2 色彩处理 584 第21章 Qt Quick Controls开发基础 587 21.1 Qt Quick Controls概述 587 21.1.1 第一个Qt Quick Controls程序 587 21.1.2 Qt Quick窗体应用程序的构成 588 21.2 Qt Quick控件 593 21.2.1 概述 593 21.2.2 基本控件 594 21.2.3 高级控件 599 21.2.4 样式定制 604 21.3 Qt Quick对话框 612 21.4 Qt Quick导航视图 618 第22章 【综合实例】:多功能文档查看器 624 22.1 核心功能界面演示 624 22.2 界面与程序框架设计 626 22.2.1 准备应用资源 627 22.2.2 主程序代码框架 628 22.3 浏览网页功能实现 635 22.3.1 实现HtmlHandler处理器 635 22.3.2 编写Action 640 22.3.3 定义主显示区元素 640 22.3.4 实现“打开网页”对话框 640 22.4 阅读文本功能实现 641 22.4.1 实现TextHandler处理器 641 22.4.2 编写Action 645 22.4.3 定义主显示区元素 646 22.4.4 实现“打开文本”对话框 646 22.5 查看图片功能实现 648 22.5.1 编写Action 648 22.5.2 定义主显示区元素 649 22.5.3 实现“打开图片”对话框 650 22.5.4 对图片的处理 651 第23章 Linux下Qt的安装和简单使用 652 23.1 安装Qt步骤 652 23.2 Hello World例子 654 23.2.1 通过编写代码实现 655 23.2.2 通过Qt Designer实现 658 附录A C++相关知识 663 A.1 C++程序结构 663 A.2 C++预处理 664 A.3 C++异常处理 666 A.4 C++面向对象编程 669 附录B Qt 5调试 679 B.1 修正语法错误 679 B.2 设置断点 680 B.3 程序调试运行 680 B.4 查看和修改变量的值 681 B.5 qDebug()的用法 683

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=TP260440

www.luweidong.cn

下一个