
| 畅销书升级版 诸多大型项目工程开发经验的凝聚之作 |
| 初 级 篇 第1章 qt初步实践2 1.1 第一个qt程序2 1.1.1 建立主程序2 1.1.2 建立工程3 1.1.3 编译/运行第一个qt应用程序8 1.1.4 第一个qt程序的代码分析9 1.2 使用qt布局管理器11 1.3 关联操作12 1.4 小结13 第2章 对话框—— qdialog14 2.1 自定义对话框14 2.1.1 建立新类14 2.1.2 添加子窗口部件16 2.2 加入主程序22 2.3 qt内建(built-in)对话框25 2.4 小结35 第3章 基础窗口部件—— qwidget36 3.1 qt设计器绘制窗口部件36 3.1.1 qt设计器基础36 .3.1.2 绘制窗口部件41 3.2 程序中引入自定义窗口部件49 3.2.1 直接使用方式49 3.2.2 单一继承方式51 3.2.3 多继承方式54 3.3 qt的信号和槽机制55 3.3.1 基本原理55 3.3.2 设计信号和槽58 3.3.3 信号和槽的自动关联66 3.4 窗口标志及几何布局66 3.4.1 窗口标志67 3.4.2 窗口部件的几何布局69 3.5 qt对象模型77 3.5.1 元对象系统78 3.5.2 属性系统79 3.5.3 对象树82 3.6 隐式共享85 3.7 小结86 第4章 程序主窗口——qmainwindow87 4.1 qmainwindow主窗口框架87 4.2 qt设计器绘制主窗口88 4.2.1 菜单91 4.2.2 工具栏94 4.2.3 中心部件97 4.3 代码创建主窗口99 4.3.1 创建资源文件99 4.3.2 定义主窗口类99 4.4 锚接部件104 4.5 状态栏107 4.6 实现文本编辑器功能109 4.7 多文档120 4.8 打印文档122 4.9 小结123 第5章 布局管理124 5.1 qt布局管理器——qlayout124 5.1.1 qt布局管理器简介124 5.1.2 布局管理器及窗口部件大小 策略的应用128 5.2 分裂器部件qsplitter137 5.3 栈部件qstackedwidget138 5.4 工作空间部件qworkspace139 5.5 多文档区部件qmdiarea153 5.6 小结155 中 级 篇 第6章 2d绘图158 6.1 arthur绘图基础158 6.1.1 绘图158 6.1.2 绘图设备182 6.2 坐标系统与坐标变换183 6.2.1 坐标系统183 6.2.2 坐标变换183 6.3 用不同的字体184 6.4 绘图路径——qpainterpath188 6.5 qimage与qpixmap绘图设备190 6.5.1 qimage190 6.5.2 pixmap192 6.6 组合模式绘图201 6.7 小结210 第7章 graphics view框架211 7.1 graphics view概述211 7.1.1 graphics view体系结构211 7.1.2 graphics view坐标系统212 7.1.3 深入graphics view213 7.2 图形效果221 7.3 图形图像打印222 7.3.1 普通打印过程222 7.3.2 特殊窗口部件的打印223 7.4 小结224 第8章 拖放操作和剪贴板225 8.1 拖放操作225 8.1.1 拖放操作225 8.1.2 定义新的拖放操作类型228 8.1.3 graphics view框架下的拖放操作228 8.2 使用剪贴板230 8.3 小结231 第9章 文件处理232 9.1 读写文本文件232 9.2 操作二进制文件234 9.3 临时文件236 9.4 目录操作和文件管理236 9.4.1 目录操作236 9.4.2 文件管理238 9.5 监视文件系统变化238 9.6 文件引擎240 9.7 小结240 第10章 网络241 10.1 ftp客户端241 10.2 http客户端250 10.3 udp应用254 10.4 tcp应用258 10.5 高级应用269 10.5.1 底层操作269 10.5.2 使用代理272 10.5.3 扩展qt网络功能272 10.5.4 效率问题276 10.6 小结277 第11章 多线程278 11.1 启动一个线程278 11.2 线程互斥与同步282 11.2.1 临界区问题282 11.2.2 使用qmutex283 11.2.3 使用qsemaphore284 11.2.4 使用qwaitconditon286 11.3 线程的其他问题289 11.3.1 优先级问题289 11.3.2 死锁及优先级反转问题292 11.3.3 本地存储问题294 11.4 qt的线程机制295 11.4.1 可重入与线程安全295 11.4.2 线程与事件循环296 11.4.3 线程与信号/槽机制297 11.4.4 多线程网络示例298 11.5 并行计算302 11.5.1 利用qtconcurrent启动线程302 11.5.2 图片浏览器示例303 11.6 小结307 第12章 事件处理308 12.1 事件机制308 12.1.1 事件来源与类型308 12.1.2 事件处理方法309 12.2 事件处理器310 12.3 事件过滤器315 12.4 加快用户界面响应318 12.4.1 使用processevents()函数318 12.4.2 使用定时器320 12.5 小结322 第13章 数据库323 13.1 连接数据库323 13.2 常用数据库操作328 13.2.1 使用sql语句328 13.2.2 事务操作330 13.2.3 使用sql模型类331 13.2.4 数据表示335 13.3 qt数据库应用337 13.3.1 使用嵌入式数据库337 13.3.2 使用oracle数据库340 13.4 小结352 高 级 篇 第14章 界面风格354 14.1 使用qt风格354 14.2 简单自定义风格355 14.2.1 界面设计355 14.2.2 自定义界面外观356 14.2.3 换肤372 14.3 qt风格原理376 14.3.1 风格元素377 14.3.2 风格选项381 14.3.3 风格函数383 14.3.4 风格调色板384 14.3.5 风格绘制过程386 14.4 高级自定义风格390 14.5 qt样式表407 14.5.1 样式表语法407 14.5.2 样式表的应用409 14.6 小结412 第15章 xml413 15.1 dom413 15.1.1 dom入门413 15.1.2 使用dom414 15.1.3 使用dom写xml文件417 15.2 sax420 15.3 基于流的xml api425 15.4 qtxmlpatterns模块431 15.4.1 xslt431 15.4.2 xquery433 15.4.3 xml schema437 15.5 小结442 第16章 模型/视图结构443 16.1 模型/视图结构与mvc设计模式443 16.1.1 模型444 16.1.2 视图444 16.1.3 代理445 16.2 使用已有的模型视图类445 16.2.1 使用已有的模型和视图类445 16.2.2 qlistwidget、qtreewidget和qtablewidget447 16.3 模型(models)459 16.3.1 模型索引459 16.3.2 模型角色460 16.3.3 自定义模型461 16.3.4 代理模型464 16.4 视图(views)469 16.4.1 自定义视图469 16.4.2 数据-窗口部件映射469 16.5 代理(delegates)475 16.5.1 使用已有的代理475 16.5.2 自定义代理475 16.6 拖放与选中481 16.6.1 拖放操作481 16.6.2 选中模式484 16.7 小结485 第17章 高级绘图486 17.1 3d绘图——使用opengl486 17.1.1 创建opengl窗口486 17.1.2 着色490 17.1.3 3d和旋转491 17.1.4 纹理贴图495 17.2 svg498 17.2.1 绘制svg图形498 17.2.2 生成svg文件500 17.3 小结501 第18章 进程与进程间通信502 18.1 使用qprocess502 18.2 linux进程间通信505 18.3 共享内存与本地socket506 18.4 新型进程间通信——d-bus512 18.4.1 d-bus简介513 18.4.2 接口与适配器514 18.4.3 qtdbus应用实例517 18.5 小结527 第19章 qt插件528 19.1 qt插件开发基础528 19.2 qt设计器插件529 19.2.1 使用scratchpad529 19.2.2 提升自定义窗口部件530 19.2.3 qt设计器插件开发531 19.3 编写数据库插件538 19.4 自定义风格插件542 19.5 小结545 第20章 脚本——qtscript546 20.1 执行ecmascript脚本546 20.2 qtscript中的信号和槽547 20.3 使用javascript操作qt对象550 20.4 基于prototype的继承554 20.5 qtscript调试器555 20.6 小结556 第21章 国际化557 21.1 unicode与字符编码557 21.1.1 unicode557 21.1.2 汉字编码558 21.1.3 编码转换558 21.2 qt linguist561 21.2.1 发布管理器561 21.2.2 翻译器563 21.2.3 加载翻译文件566 21.3 语言切换566 21.4 小结567 第22章 qt单元测试框架568 22.1 qtestlib框架568 22.1.1 qtestlib568 22.1.2 第一个qt单元测试569 22.2 数据驱动测试570 22.3 gui测试572 22.3.1 仿真gui事件572 22.3.2 重放gui事件573 22.4 基准测试574 22.5 小结575 第23章 动画与状态机框架576 23.1 动画框架576 23.2 状态机框架578 23.3 实例分析582 23.4 小结594 第24章 webkit与多媒体595 24.1 webkit595 24.1.1 基于webkit的浏览器595 24.1.2 添加openssl支持596 24.1.3 qt webkit编程597 24.2 phonon多媒体框架597 24.2.1 phonon体系结构597 24.2.2 phonon媒体播放器600 24.3 小结606 第25章 嵌入式qt607 25.1 windows mobile平台607 25.1.1 windows mobile平台qt应用开发流程607 25.1.2 部署qt应用程序611 25.1.3 使用移动电话仿真器613 25.2 嵌入式linux平台614 25.2.1 嵌入式linux平台qt体系结构614 25.2.2 开发环境配置616 25.3 嵌入式qt的裁剪618 25.4 小结618 附录a qt安装619 附录b qt集成开发环境624 附录c qmake速查631 附录d qt资源636 |
商品评论(0条)