精通Qt4编程.pdf
内容简介 《精通Qt4编程(第2版)》详细介绍了Qt的基础知识和GUI编程应用,举例翔实,内容全面,基本涵盖了Qt编程的各个方面。全书共分3篇25章,包括Qt GUI编程的基础知识(对话框、基础窗口部件、程序主窗口、布局管理)、中级编程(2D绘图、拖放操作与剪贴板、文件处理、网络编程、多线程、事件机制、数据库及Qt风格)和高级应用(XML应用、模型/视图结构、高级绘图、进程间通信、Qt插件和脚本应用、多媒体、浏览器、动画及状态机等)。同时,在相关章节也穿插了一些重要的知识点,包括元对象系统、属性系统、对象树机制、信号/槽机制等。 读者对象:本书体系完整,内容实用,可以作为Qt初学者的入门进阶书籍,适合具有一定开发经验的Qt程序员作为参考书,也可以作为大中院校相关专业及培训机构的教材。 目录 初 级 篇 第1章 Qt初步实践 1.1 第一个Qt程序 1.1.1 建立主程序 1.1.2 建立工程 1.1.3 编译/运行第一个Qt应用程序 1.1.4 第一个Qt程序的代码分析 1.2 使用Qt布局管理器 1.3 关联操作 1.4 小结 第2章 对话框-- QDialog 2.1 自定义对话框 2.1.1 建立新类 2.1.2 添加子窗口部件 2.2 加入主程序 2.3 Qt内建(built-in)对话框 2.4 小结 第3章 基础窗口部件-- QWidget 3.1 Qt设计器绘制窗口部件 3.1.1 Qt设计器基础 3.1.2 绘制窗口部件 3.2 程序中引入自定义窗口部件 3.2.1 直接使用方式 3.2.2 单一继承方式 3.2.3 多继承方式 3.3 Qt的信号和槽机制 3.3.1 基本原理 3.3.2 设计信号和槽 3.3.3 信号和槽的自动关联 3.4 窗口标志及几何布局 3.4.1 窗口标志 3.4.2 窗口部件的几何布局 3.5 Qt对象模型 3.5.1 元对象系统 3.5.2 属性系统 3.5.3 对象树 3.6 隐式共享 3.7 小结 第4章 程序主窗口--QMainWindow 4.1 QMainWindow主窗口框架 4.2 Qt设计器绘制主窗口 4.2.1 菜单 4.2.2 工具栏 4.2.3 中心部件 4.3 代码创建主窗口 4.3.1 创建资源文件 4.3.2 定义主窗口类 4.4 锚接部件 4.5 状态栏 4.6 实现文本编辑器功能 4.7 多文档 4.8 打印文档 4.9 小结 第5章 布局管理 5.1 Qt布局管理器--QLayout 5.1.1 Qt布局管理器简介 5.1.2 布局管理器及窗口部件大小策略的应用 5.2 分裂器部件QSplitter 5.3 栈部件QStackedWidget 5.4 工作空间部件QWorkspace 5.5 多文档区部件QMdiArea 5.6 小结 中 级 篇 第6章 2D绘图 6.1 Arthur绘图基础 6.1.1 绘图 6.1.2 绘图设备 6.2 坐标系统与坐标变换 6.2.1 坐标系统 6.2.2 坐标变换 6.3 用不同的字体 6.4 绘图路径--QPainterPath 6.5 QImage与QPixmap绘图设备 6.5.1 QImage 6.5.2 Pixmap 6.6 组合模式绘图 6.7 小结 第7章 Graphics View框架 7.1 Graphics View概述 7.1.1 Graphics View体系结构 7.1.2 Graphics View坐标系统 7.1.3 深入Graphics View 7.2 图形效果 7.3 图形图像打印 7.3.1 普通打印过程 7.3.2 特殊窗口部件的打印 7.4 小结 第8章 拖放操作和剪贴板 8.1 拖放操作 8.1.1 拖放操作 8.1.2 定义新的拖放操作类型 8.1.3 Graphics View框架下的拖放操作 8.2 使用剪贴板 8.3 小结 第9章 文件处理 9.1 读写文本文件 9.2 操作二进制文件 9.3 临时文件 9.4 目录操作和文件管理 9.4.1 目录操作 9.4.2 文件管理 9.5 监视文件系统变化 9.6 文件引擎 9.7 小结 第10章 网络 10.1 FTP客户端 10.2 HTTP客户端 10.3 UDP应用 10.4 TCP应用 10.5 高级应用 10.5.1 底层操作 10.5.2 使用代理 10.5.3 扩展Qt网络功能 10.5.4 效率问题 10.6 小结 第11章 多线程 11.1 启动一个线程 11.2 线程互斥与同步 11.2.1 临界区问题 11.2.2 使用QMutex 11.2.3 使用QSemaphore 11.2.4 使用QWaitConditon 11.3 线程的其他问题 11.3.1 优先级问题 11.3.2 死锁及优先级反转问题 11.3.3 本地存储问题 11.4 Qt的线程机制 11.4.1 可重入与线程安全 11.4.2 线程与事件循环 11.4.3 线程与信号/槽机制 11.4.4 多线程网络示例 11.5 并行计算 11.5.1 利用QtConcurrent启动线程 11.5.2 图片浏览器示例 11.6 小结 第12章 事件处理 12.1 事件机制 12.1.1 事件来源与类型 12.1.2 事件处理方法 12.2 事件处理器 12.3 事件过滤器 12.4 加快用户界面响应 12.4.1 使用processEvents()函数 12.4.2 使用定时器 12.5 小结 第13章 数据库 13.1 连接数据库 13.2 常用数据库操作 13.2.1 使用SQL语句 13.2.2 事务操作 13.2.3 使用SQL模型类 13.2.4 数据表示 13.3 Qt数据库应用 13.3.1 使用嵌入式数据库 13.3.2 使用Oracle数据库 13.4 小结 高 级 篇 第14章 界面风格 14.1 使用Qt风格 14.2 简单自定义风格 14.2.1 界面设计 14.2.2 自定义界面外观 14.2.3 换肤 14.3 Qt风格原理 14.3.1 风格元素 14.3.2 风格选项 14.3.3 风格函数 14.3.4 风格调色板 14.3.5 风格绘制过程 14.4 高级自定义风格 14.5 Qt样式表 14.5.1 样式表语法 14.5.2 样式表的应用 14.6 小结 第15章 XML 15.1 DOM 15.1.1 DOM入门 15.1.2 使用DOM 15.1.3 使用DOM写XML文件 15.2 SAX 15.3 基于流的XML API 15.4 QtXmlPatterns模块 15.4.1 XSLT 15.4.2 XQuery 15.4.3 XML Schema 15.5 小结 第16章 模型/视图结构 16.1 模型/视图结构与MVC设计模式 16.1.1 模型 16.1.2 视图 16.1.3 代理 16.2 使用已有的模型视图类 16.2.1 使用已有的模型和视图类 16.2.2 QListWidget、QTreeWidget和QTableWidget 16.3 模型(Models) 16.3.1 模型索引 16.3.2 模型角色 16.3.3 自定义模型 16.3.4 代理模型 16.4 视图(Views) 16.4.1 自定义视图 16.4.2 数据-窗口部件映射 16.5 代理(Delegates) 16.5.1 使用已有的代理 16.5.2 自定义代理 16.6 拖放与选中 16.6.1 拖放操作 16.6.2 选中模式 16.7 小结 第17章 高级绘图 17.1 3D绘图--使用OpenGL 17.1.1 创建OpenGL窗口 17.1.2 着色 17.1.3 3D和旋转 17.1.4 纹理贴图 17.2 SVG 17.2.1 绘制SVG图形 17.2.2 生成SVG文件 17.3 小结 第18章 进程与进程间通信 18.1 使用QProcess 18.2 Linux进程间通信 18.3 共享内存与本地Socket 18.4 新型进程间通信--D-Bus 18.4.1 D-Bus简介 18.4.2 接口与适配器 18.4.3 QtDBus应用实例 18.5 小结 第19章 Qt插件 19.1 Qt插件开发基础 19.2 Qt设计器插件 19.2.1 使用Scratchpad 19.2.2 提升自定义窗口部件 19.2.3 Qt设计器插件开发 19.3 编写数据库插件 19.4 自定义风格插件 19.5 小结 第20章 脚本--QtScript 20.1 执行ECMAScript脚本 20.2 QtScript中的信号和槽 20.3 使用JavaScript操作Qt对象 20.4 基于Prototype的继承 20.5 QtScript调试器 20.6 小结 第21章 国际化 21.1 Unicode与字符编码 21.1.1 Unicode 21.1.2 汉字编码 21.1.3 编码转换 21.2 Qt Linguist 21.2.1 发布管理器 21.2.2 翻译器 21.2.3 加载翻译文件 21.3 语言切换 21.4 小结 第22章 Qt单元测试框架 22.1 QTestLib框架 22.1.1 QTestLib 22.1.2 第一个Qt单元测试 22.2 数据驱动测试 22.3 GUI测试 22.3.1 仿真GUI事件 22.3.2 重放GUI事件 22.4 基准测试 22.5 小结 第23章 动画与状态机框架 23.1 动画框架 23.2 状态机框架 23.3 实例分析 23.4 小结 第24章 WebKit与多媒体 24.1 WebKit 24.1.1 基于WebKit的浏览器 24.1.2 添加OpenSSL支持 24.1.3 Qt WebKit编程 24.2 Phonon多媒体框架 24.2.1 Phonon体系结构 24.2.2 Phonon媒体播放器 24.3 小结 第25章 嵌入式Qt 25.1 Windows Mobile平台 25.1.1 Windows Mobile平台Qt应用开发流程 25.1.2 部署Qt应用程序 25.1.3 使用移动电话仿真器 25.2 嵌入式Linux平台 25.2.1 嵌入式Linux平台Qt体系结构 25.2.2 开发环境配置 25.3 嵌入式Qt的裁剪 25.4 小结 附录A Qt安装 附录B Qt集成开发环境 附录C qmake速查 附录D Qt资源 加入主程序 2.3 Qt内建(built-in)对话框 2.4 小结 第3章 基础窗口部件-- QWidget 3.1 Qt设计器绘制窗口部件 3.1.1 Qt设计器基础 3.1.2 绘制窗口部件 3.2 程序中引入自定义窗口部件 3.2.1 直接使用方式 3.2.2 单一继承方式 3.2.3 多继承方式 3.3 Qt的信号和槽机制 3.3.1 基本原理 3.3.2 设计信号和槽 3.3.3 信号和槽的自动关联 3.4 窗口标志及几何布局 3.4.1 窗口标志 3.4.2 窗口部件的几何布局 3.5 Qt对象模型 3.5.1 元对象系统 3.5.2 属性系统 3.5.3 对象树 3.6 隐式共享 3.7 小结 第4章 程序主窗口--QMainWindow 4.1 QMainWindow主窗口框架 4.2 Qt设计器绘制主窗口 4.2.1 菜单 4.2.2 工具栏 4.2.3 中心部件 4.3 代码创建主窗口 4.3.1 创建资源文件 4.3.2 定义主窗口类 4.4 锚接部件 4.5 状态栏 4.6 实现文本编辑器功能 4.7 多文档 4.8 打印文档 4.9 小结 第5章 布局管理 5.1 Qt布局管理器--QLayout 5.1.1 Qt布局管理器简介 5.1.2 布局管理器及窗口部件大小策略的应用 5.2 分裂器部件QSplitter 5.3 栈部件QStackedWidget 5.4 工作空间部件QWorkspace 5.5 多文档区部件QMdiArea 5.6 小结 中 级 篇 第6章 2D绘图 6.1 Arthur绘图基础 6.1.1 绘图 6.1.2 绘图设备 6.2 坐标系统与坐标变换 6.2.1 坐标系统 6.2.2 坐标变换 6.3 用不同的字体 6.4 绘图路径--QPainterPath 6.5 QImage与QPixmap绘图设备 6.5.1 QImage 6.5.2 Pixmap 6.6 组合模式绘图 6.7 小结 第7章 Graphics View框架 7.1 Graphics View概述 7.1.1 Graphics View体系结构 7.1.2 Graphics View坐标系统 7.1.3 深入Graphics View 7.2 图形效果 7.3 图形图像打印 7.3.1 普通打印过程 7.3.2 特殊窗口部件的打印 7.4 小结 第8章 拖放操作和剪贴板 8.1 拖放操作 8.1.1 拖放操作 8.1.2 定义新的拖放操作类型 8.1.3 Graphics View框架下的拖放操作 8.2 使用剪贴板 8.3 小结 第9章 文件处理 9.1 读写文本文件 9.2 操作二进制文件 9.3 临时文件 9.4 目录操作和文件管理 9.4.1 目录操作 9.4.2 文件管理 9.5 监视文件系统变化 9.6 文件引擎 9.7 小结 第10章 网络 10.1 FTP客户端 10.2 HTTP客户端 10.3 UDP应用 10.4 TCP应用 10.5 高级应用 10.5.1 底层操作 10.5.2 使用代理 10.5.3 扩展Qt网络功能 10.5.4 效率问题 10.6 小结 第11章 多线程 11.1 启动一个线程 11.2 线程互斥与同步 11.2.1 临界区问题 11.2.2 使用QMutex 11.2.3 使用QSemaphore 11.2.4 使用QWaitConditon 11.3 线程的其他问题 11.3.1 优先级问题 11.3.2 死锁及优先级反转问题 11.3.3 本地存储问题 11.4 Qt的线程机制 11.4.1 可重入与线程安全 11.4.2 线程与事件循环 11.4.3 线程与信号/槽机制 11.4.4 多线程网络示例 11.5 并行计算 11.5.1 利用QtConcurrent启动线程 11.5.2 图片浏览器示例 11.6 小结 第12章 事件处理 12.1 事件机制 12.1.1 事件来源与类型 12.1.2 事件处理方法 12.2 事件处理器 12.3 事件过滤器 12.4 加快用户界面响应 12.4.1 使用processEvents()函数 12.4.2 使用定时器 12.5 小结 第13章 数据库 13.1 连接数据库 13.2 常用数据库操作 13.2.1 使用SQL语句 13.2.2 事务操作 13.2.3 使用SQL模型类 13.2.4 数据表示 13.3 Qt数据库应用 13.3.1 使用嵌入式数据库 13.3.2 使用Oracle数据库 13.4 小结 高 级 篇 第14章 界面风格 14.1 使用Qt风格 14.2 简单自定义风格 14.2.1 界面设计 14.2.2 自定义界面外观 14.2.3 换肤 14.3 Qt风格原理 14.3.1 风格元素 14.3.2 风格选项 14.3.3 风格函数 14.3.4 风格调色板 14.3.5 风格绘制过程 14.4 高级自定义风格 14.5 Qt样式表 14.5.1 样式表语法 14.5.2 样式表的应用 14.6 小结 第15章 XML 15.1 DOM 15.1.1 DOM入门 15.1.2 使用DOM 15.1.3 使用DOM写XML文件 15.2 SAX 15.3 基于流的XML API 15.4 QtXmlPatterns模块 15.4.1 XSLT 15.4.2 XQuery 15.4.3 XML Schema 15.5 小结 第16章 模型/视图结构 16.1 模型/视图结构与MVC设计模式 16.1.1 模型 16.1.2 视图 16.1.3 代理 16.2 使用已有的模型视图类 16.2.1 使用已有的模型和视图类 16.2.2 QListWidget、QTreeWidget和QTableWidget 16.3 模型(Models) 16.3.1 模型索引 16.3.2 模型角色 16.3.3 自定义模型 16.3.4 代理模型 16.4 视图(Views) 16.4.1 自定义视图 16.4.2 数据-窗口部件映射 16.5 代理(Delegates) 16.5.1 使用已有的代理 16.5.2 自定义代理 16.6 拖放与选中 16.6.1 拖放操作 16.6.2 选中模式 16.7 小结 第17章 高级绘图 17.1 3D绘图--使用OpenGL 17.1.1 创建OpenGL窗口 17.1.2 着色 17.1.3 3D和旋转 17.1.4 纹理贴图 17.2 SVG 17.2.1 绘制SVG图形 17.2.2 生成SVG文件 17.3 小结 第18章 进程与进程间通信 18.1 使用QProcess 18.2 Linux进程间通信 18.3 共享内存与本地Socket 18.4 新型进程间通信--D-Bus 18.4.1 D-Bus简介 18.4.2 接口与适配器 18.4.3 QtDBus应用实例 18.5 小结 第19章 Qt插件 19.1 Qt插件开发基础 19.2 Qt设计器插件 19.2.1 使用Scratchpad 19.2.2 提升自定义窗口部件 19.2.3 Qt设计器插件开发 19.3 编写数据库插件 19.4 自定义风格插件 19.5 小结 第20章 脚本--QtScript 20.1 执行ECMAScript脚本 20.2 QtScript中的信号和槽 20.3 使用JavaScript操作Qt对象 20.4 基于Prototype的继承 20.5 QtScript调试器 20.6 小结 第21章 国际化 21.1 Unicode与字符编码 21.1.1 Unicode 21.1.2 汉字编码 21.1.3 编码转换 21.2 Qt Linguist 21.2.1 发布管理器 21.2.2 翻译器 21.2.3 加载翻译文件 21.3 语言切换 21.4 小结 第22章 Qt单元测试框架 22.1 QTestLib框架 22.1.1 QTestLib 22.1.2 第一个Qt单元测试 22.2 数据驱动测试 22.3 GUI测试 22.3.1 仿真GUI事件 22.3.2 重放GUI事件 22.4 基准测试 22.5 小结 第23章 动画与状态机框架 23.1 动画框架 23.2 状态机框架 23.3 实例分析 23.4 小结 第24章 WebKit与多媒体 24.1 WebKit 24.1.1 基于WebKit的浏览器 24.1.2 添加OpenSSL支持 24.1.3 Qt WebKit编程 24.2 Phonon多媒体框架 24.2.1 Phonon体系结构 24.2.2 Phonon媒体播放器 24.3 小结 第25章 嵌入式Qt 25.1 Windows Mobile平台 25.1.1 Windows Mobile平台Qt应用开发流程 25.1.2 部署Qt应用程序 25.1.3 使用移动电话仿真器 25.2 嵌入式Linux平台 25.2.1 嵌入式Linux平台Qt体系结构 25.2.2 开发环境配置 25.3 嵌入式Qt的裁剪 25.4 小结 附录A Qt安装 附录B Qt集成开发环境 附录C qmake速查 附录D Qt资源
用户评论
qinweipeter 2018-12-28 23:47:45
很棒的资源,感谢分享
longqr503 2018-12-28 23:47:45
很有用的资料,刚好需要,赞一个!
yanh40475 2018-12-28 23:47:45
不错的学习教材
websupervisor 2018-12-28 23:47:45
很不错的资源 看看
yeai59380 2018-12-28 23:47:45
初次学习,下载看看学习学习
paul_marry 2018-12-28 23:47:45
很不错的资源,O(∩_∩)O谢谢
-volcano 2018-12-28 23:47:45
初学者参考
aijun50096 2018-12-28 23:47:45
不错,支持
kyoluogeng 2018-12-28 23:47:45
不错。。。。。。。