《精通Qt4编程》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:蔡志明,卢传富,李立夏等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121056147
  • 页数:512 页
图书介绍:本书详细介绍了Qt的基础知识和GUI编程应用,举例翔实,内容全面,基本涵盖了Qt编程的各个方面。全书共分3篇21章,包括Qt GUI编程的基础知识(对话框、基础部件、主程序窗口、布局管理)、中级编程(2D绘图、拖放操作与剪贴板、文件处理、网络编程、多线程、事件机制、数据库以及Qt的模版库和工具类)和高级应用(XML应用、、模型/视图结构、高级绘图、进程间通信、Qt插件和脚本应用)。同时,在相关章节也穿插了一些重要的知识点,包括元对象系统、属性系统、对象树机制、信号/槽机制等。本书体系完整,内容实用,可以作为Qt初学者的入门进阶书籍,适合具有一定开发经验的Qt程序员作为参考书,也可以作为大中院校相关专业及培训机构的教材。

初级篇 2

第1章 Qt初步实践 2

1.1 第一个Qt程序 2

1.1.1 建立主程序 2

1.1.2 建立工程 3

1.1.3 编译/运行第一个Qt应用程序 8

1.1.4 第一个Qt程序的代码分析 8

1.2 使用Qt布局管理器 11

1.3 关联操作 12

1.4 小结 13

第2章 对话框——QDialog 14

2.1 自定义对话框 14

2.1.1 建立新类 14

2.1.2 添加子窗口部件 15

2.2 加入主程序 22

2.3 Qt内建(built-in)对话框 24

2.4 小结 34

第3章 基础窗口部件——QWidget 35

3.1 Qt设计器绘制窗口部件 35

3.1.1 Qt设计器基础 35

3.1.2 绘制窗口部件 40

3.2 程序中引入自定义窗口部件 47

3.2.1 直接使用方式 47

3.2.2 单一继承方式 49

3.2.3 多继承方式 51

3.3 Qt的信号和槽机制 53

3.3.1 基本原理 53

3.3.2 设计信号和槽 55

3.3.3 信号和槽的自动关联 62

3.4 窗口标志及几何布局 63

3.4.1 窗口标志 64

3.4.2 窗口部件的几何布局 66

3.5 Qt样式表 74

3.5.1 样式表语法 74

3.5.2 样式表的应用 76

3.6 Qt对象模型 79

3.6.1 元对象系统 79

3.6.2 属性系统 80

3.6.3 对象树 83

3.7 小结 86

第4章 程序主窗口——QMainWindow 87

4.1 QMainWindow主窗口框架 87

4.2 Qt设计器绘制主窗口 88

4.2.1 菜单 90

4.2.2 工具栏 93

4.2.3 中心部件 96

4.3 代码创建主窗口 98

4.3.1 创建资源文件 98

4.3.2 定义主窗口类 98

4.4 锚接部件 102

4.5 状态栏 105

4.6 实现文本编辑器功能 107

4.7 多文档 118

4.8 打印文档 119

4.9 小结 120

第5章 布局管理 121

5.1 Qt布局管理器——QLayout 121

5.1.1 Qt布局管理器简介 121

5.1.2 布局管理器及窗口部件大小策略的应用 125

5.2 分裂器部件QSplitter 132

5.3 栈部件QStackedWidget 134

5.4 工作空间部件QWorkspace 135

5.5 多文档区部件QMdiArea 148

5.6 小结 150

中级篇 152

第6章 2D绘图 152

6.1 Arthur绘图基础 152

6.1.1 绘图 152

6.1.2 绘图设备 174

6.2 坐标系统与坐标变换 175

6.2.1 坐标系统 175

6.2.2 坐标变换 175

6.3 用不同的字体 177

6.4 绘图路径——QPainterPath 180

6.5 QImage与QPixmap绘图设备 182

6.5.1 QImage 182

6.5 2 Pixmap 183

6.6 组合模式绘图 192

6.7 Graphics View框架 200

6.7.1 Graphics View体系结构 200

6.7.2 Graphics View坐标系统 201

6.7.3 深入Graphics View 202

6.8 图形图像打印 208

6.8.1 普通打印过程 208

6.8.2 特殊窗口部件的打印 210

6.9 小结 211

第7章 拖放操作和剪贴板 212

7.1 拖放操作 212

7.1.1 拖放操作 212

7.1.2 定义新的拖放操作类型 214

7.1.3 Graphics View框架下的拖放操作 215

7.2 使用剪贴板 217

7.3 小结 218

第8章 文件处理 219

8.1 读写文本文件 219

8.2 操作二进制文件 220

8.3 临时文件 222

8.4 目录操作和文件管理 222

8.4.1 目录操作 222

8.4.2 文件管理 224

8.5 监视文件系统变化 225

8.6 文件引擎 226

8.7 小结 226

第9章 网络 227

9.1 FTP客户端 227

9.2 HTTP客户端 235

9.3 UDP应用 239

9.4 TCP应用 243

9.5 高级应用 253

9.5.1 底层操作 253

9.5.2 使用代理 256

9.5.3 扩展Qt网络功能 256

9.5.4 效率问题 260

9.6 小结 260

第10章 多线程 261

10.1 启动一个线程 261

10.2 线程互斥与同步 264

10.2.1 临界区问题 265

10.2.2 使用QMutex 265

10.2.3 使用QSemaphore 266

10.2.4 使用QWaitConditon 269

10.3 线程的其他问题 271

10.3.1 优先级问题 271

10.3.2 死锁及优先级反转问题 274

10.3.3 本地存储问题 275

10.4 Qt的线程机制 276

10.4.1 可重入与线程安全 276

10.4.2 线程与事件循环 277

10.4.3 线程与信号/槽机制 278

10.4.4 多线程网络示例 279

10.5 小结 282

第11章 事件处理 283

11.1 事件机制 283

11.1.1 事件来源与类型 283

11.1.2 事件处理方法 284

11.2 事件处理器 285

11.3 事件过滤器 290

11.4 加快用户界面响应 292

11.4.1 使用processEvents()函数 293

11.4.2 使用定时器 294

11.5 小结 296

第12章 数据库 297

12.1 连接数据库 297

12.2 常用数据库操作 301

12.2.1 使用SQL语句 302

12.2.2 事务操作 304

12.2.3 使用SQL模型类 304

12.2.4 数据表示 308

12.3 Qt数据库应用 310

12.3.1 使用嵌入式数据库 310

12.3.2 使用Oracle数据库 313

12.4 小结 325

第13章 Qt的模板库和工具类 326

13.1 Qt容器类 326

13.1.1 QList、QLinkedList和QVector 327

13.1.2 QMap、QHash 332

13.2 QString 334

13.2.1 隐式共享 335

13.2.2 内存分配策略 336

13.2.3 操作字符串 336

13.2.4 查询字符串数据 337

13.2.5 字符串的转换 338

13.3 QVariant 339

13.4 Qt的算法 341

13.5 正则表达式 342

13.5.1 基本的正则表达式 342

13.5.2 文字捕获 344

13.6 小结 345

高级篇 348

第14章 XML 348

14.1 DOM 348

14.1.1 DOM入门 348

14.1.2 使用DOM 348

14.1.3 使用DOM写XML文件 352

14.2 SAX 354

14.3 基于流的XML API 359

14.4 小结 365

第15章 模型/视图结构 366

15.1 模型/视图结构与MVC设计模式 366

15.1.1 模型 366

15.1.2 视图 367

15.1.3 代理 368

15.2 使用已有的模型视图类 368

15.2.1 使用已有的模型和视图类 368

15.2.2 QListWidget、QtreeWidget和QTableWidget 370

15.3 模型(Models) 381

15.3.1 模型索引 381

15.3.2 模型角色 382

15.3.3 自定义模型 382

15.3.4 代理模型 385

15.4 视图(Views) 390

15.4.1 自定义视图 390

15.4.2 数据-窗口部件映射 390

15.5 代理(Delegates) 396

15.5.1 使用已有的代理 396

15.5.2 自定义代理 396

15.6 拖放与选中 401

15.6.1 拖放操作 401

15.6.2 选中模式 404

15.7 小结 405

第16章 高级绘图 406

16.1 3D绘图——使用OpenGL 406

16.1.1 创建OpenGL窗口 406

16.1.2 着色 410

16.1.3 3D和旋转 411

16.1.4 纹理贴图 414

16.2 SVG 417

16.2.1 绘制SVG图形 418

16.2.2 生成SVG文件 419

16.3 小结 420

第17章 进程与进程间通信 421

17.1 使用QProcess 421

17.2 Linux进程间通信 423

17.3 新型进程间通信——D-Bus 425

17.3.1 D-Bus简介 425

17.3.2 安装QtDBus模块 427

17.3.3 接口与适配器 429

17.3.4 QtDBus应用实例 432

17.4 小结 441

第18章 Qt插件 442

18.1 Qt插件开发基础 442

18.2 Qt设计器插件 443

18.2.1 使用Scratchpad 443

18.2.2 提升自定义窗口部件 444

18.2.3 Qt设计器插件开发 444

18.3 编写数据库插件 451

18.4 自定义风格插件 455

18.5 小结 458

第19章 脚本——QtScript 459

19.1 执行ECMAScript脚本 459

19.2 QtScript中的信号和槽 460

19.3 使用JavaScript操作Qt对象 463

19.4 基于Prototype的继承 467

19.5 小结 467

第20章 国际化 468

20.1 Unicode与字符编码 468

20.1.1 Unicode 468

20.1.2 汉字编码 469

20.1.3 编码转换 469

20.2 Qt Linguist 471

20.2.1 发布管理器 472

20.2.2 翻译器 474

20.2.3 加载翻译文件 476

20.3 语言切换 477

20.4 小结 477

第21章 Qt单元测试框架 478

21.1 QTestLib框架 478

21.1.1 QTestLib 478

21.1.2 第一个Qt单元测试 478

21.2 数据驱动测试 480

21.3 GUI测试 481

21.2.1 仿真GUI事件 481

21.2.2 重放GUI事件 483

21.3 小结 484

附录A Qt安装 485

附录B Qt集成开发环境 492

附录C qmake速查 501

附录D 深入Qt源代码 506

附录E Qt资源 512