《Qt4图形设计与嵌入式开发》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:丁林松,黄丽琴编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2009
  • ISBN:9787115196569
  • 页数:440 页
图书介绍:本书从Qt的发展与历史讲起,全面讲解Qt 4图形设计与嵌入式开发的方方面面。内容涵盖Qt模块与Qt功能类、Qt文件操作、Qt桌面软件设计、Qt桌面软件设计、Qt图形绘制与多媒体、Qt网络编程、Qt数据库编程、Qt进程与线程、Qt工具使用、Qtopia Core与嵌入式操作系统。本书所有章节最后均用实例加以讲解,使读者迅速掌握其实际应用。

第1章 Qt概述 1

1.1 Qt程序设计简介 1

1.1.1 Qt版本介绍 2

1.1.2 创建可重用的软件模式 2

1.1.3 怎样学习Qt 6

1.2 Qt对象类模型 7

1.2.1 信号与槽 8

1.2.2 对象与对象树 12

1.2.3 对象属性 12

1.2.4 事件和事件过滤器 13

1.2.5 元对象编译系统 16

1.3 Qt全局函数 18

1.4 Qt的命名技巧 19

1.5 Qt开发工具的优点 20

1.6 各种平台安装的方法X11/Window 20

1.6.1 tar包安装方式 21

1.6.2 Window平台安装 22

1.6.3 在X11平台上安装 23

1.7 X Window桌面系统 24

1.8 QApplication类 28

1.9 实例:Hello the World 30

1.10 窗口的基础类QWidget 32

1.11 入门级实例:设计一个用户界面 35

1.12 入门级程序:添加地址 37

1.13 入门实例:地址簿浏览程序 41

1.14 入门级实例:编辑与删除地址 44

1.15 入门级实例:地址簿查找功能 47

1.16 入门实例:从文件中加载与保存到文件 50

第2章 Qt模块与Qt功能类 54

2.1 Qt常用模块 54

2.2 Qt部件与组类说明 54

2.3 基于图形模式部件类 55

2.3.1 窗口与窗口相关部件 59

2.3.2 布局管理 60

2.3.3 桌面环境 60

2.3.4 多媒体、图形与打印 61

2.3.5 日期与时间 63

2.4 网络与I/O 63

2.4.1 输入/输出(I/O) 63

2.4.2 网络编程设计 65

2.4.3 文本处理 65

2.5 Qt公有部件 66

2.5.1 数据库部件 66

2.5.2 脚本部件 67

2.5.3 线程部件 67

第3章 Qt文件操作 68

3.1 Linux下的文件 68

3.1.1 标准C语言文件操作 68

3.1.2 实例:C语言下文件读写操作 69

3.2 文件的访问 69

3.2.1 抽象文件引擎类 69

3.2.2 读写文件界面 70

3.2.3 获得文件信息 70

3.2.4 监视一个文件与目录 71

3.3 编码与字符串 71

3.3.1 双字节编码字符串 73

3.3.2 字符串队列 77

3.3.3 字节数组 77

3.3.4 二进制比特数组 78

3.3.5 哈希表字典 78

3.3.6 高速缓冲模板 79

3.3.7 文件输入/输出类 81

3.4 文件与设备 84

3.4.1 访问输入/输出设备基础界面 86

3.4.2 访问目录结构内容 87

3.4.3 设备与文件图片读界面 88

3.4.4 设备与文件图片写界面 89

3.5 文本流与二进制数据流 89

3.5.1 数据流 89

3.5.2 文件流 90

3.6 监视一个活动文件与活动目录 91

3.7 临时文件 91

3.8 文件打开事件 91

3.9 实例:一个简单的文本浏览的例子 93

3.10 实例:在指定文件系统中寻找一个文件 102

3.11 实例:用Qt类读取一个目录与驱动盘符 108

3.12 实例:基本布局管理 110

3.13 实例:文本查找 112

第4章 Qt桌面软件设计 116

4.1 X11窗口系统信息 116

4.2 窗口布局管理 118

4.2.1 布局简介 119

4.2.2 横向、纵向和网状布局 119

4.2.3 标题的布局 120

4.2.4 带标题组框 121

4.2.5 几何管理基类 121

4.2.6 添加部件到布局当中 122

4.3 键盘焦点 122

4.4 菜单、工具栏与状态栏 122

4.4.1 菜单、工具栏 122

4.4.2 状态栏 123

4.4.3 用户动作 123

4.5 多文档窗口显示QMdiArea 124

4.6 设置应用程序图标 124

4.6.1 在Windows操作系统上设置图标 124

4.6.2 在Linux操作系统上设置图标 125

4.7 高级窗口部件 125

4.8 系统托盘 126

4.9 窗口事件与事件过滤 126

4.9.1 事件基类 126

4.9.2 事件运行方式 127

4.9.3 事件类型 127

4.10 实例:组框的使用 129

4.11 实例:标准菜单使用方法 133

4.12 实例:最小化到系统托盘 142

4.13 实例:设计一个图片浏览的软件 149

4.14 实例:排积木程序 156

第5章 Qt程序与用户交互 165

5.1 液晶屏数字 165

5.1.1 QLCDNumber部件的详细描述 165

5.1.2 QTime类 166

5.2 行编辑器与标签 167

5.3 显示与编辑多文本 168

5.3.1 打印文本 168

5.3.2 调整文本光标界面 169

5.3.3 QClipboard类窗口剪切板 169

5.3.4 文档中的表格 170

5.4 旋转框、复选框与组合框 171

5.4.1 旋转框 171

5.4.2 复选框 171

5.4.3 组合框 171

5.5 时间与日期编辑部件 171

5.6 使用横向与纵向进度条 171

5.7 滑块与滑动区域滚动条 172

5.8 标准对话框 173

5.8.1 错误信息对话框 173

5.8.2 用户输入对话框 173

5.8.3 字体对话框 173

5.8.4 颜色对话框 174

5.8.5 打印配置对话框 174

5.9 模型与视图架构 175

5.9.1 模型 175

5.9.2 视图 175

5.10 Qt中的代理类 176

5.10.1 使用已存在的代理 176

5.10.2 使用简单的代理 176

5.10.3 向模型中提交数据 176

5.11 实例:颜色对话框 177

5.12 实例:标准对话框 183

5.13 实例:带有菜单栏与工具条的文本编辑器 185

5.14 实例:高亮度显示文本 194

第6章 Qt图形绘制与多媒体 200

6.1 Qt坐标系统 200

6.2 访问屏幕信息 202

6.3 绘画系统 203

6.3.1 图形的绘画 203

6.3.2 图形填充 203

6.3.3 创建绘画设备 203

6.3.4 写入一个图片文件 204

6.3.5 绘画样式 205

6.4 图形视图框架 205

6.4.1 图形视图框架的结构 205

6.4.2 图形视图坐标系统 207

6.4.3 主要特色 207

6.5 综合使用窗口 208

6.5.1 扩展资源的使用 209

6.5.2 系统托盘图标 211

6.5.3 窗口部件 211

6.6 跨平台使用打印系统 219

6.6.1 绘画设备与打印 219

6.6.2 在复杂的部件中绘画 220

6.7 Phonon模块简介 220

6.7.1 介绍 221

6.7.2 框架 221

6.7.3 媒体对象 221

6.8 基于平台声频文件访问 221

6.9 实例:基本绘画操作 222

6.10 实例:符合图形绘画 227

6.11 实例:根据坐标转换图形 233

第7章 Qt网络编程 239

7.1 OSI七层模型 242

7.1.1 OSI参考模型的提出 242

7.1.2 OSI参考模型的概念 242

7.1.3 OSI参考模型的结构 243

7.1.4 OSI参考模型各层的功能 243

7.2 进程间通信 244

7.2.1 什么是Bus 244

7.2.2 对象 245

7.2.3 消息 245

7.2.4 服务 245

7.3 伯克利套接字 245

7.3.1 通用元素 246

7.3.2 客户端函数 249

7.3.3 服务器函数 251

7.3.4 C语言网络编程模型 252

7.4 Qt封装套接字 257

7.4.1 TCP报文套接字 257

7.4.2 UDP报文套接字 258

7.4.3 基于TCP连接的服务器端 258

7.4.4 安全套接字 259

7.5 Qt网络主机信息类 260

7.5.1 获得主机名IP 261

7.5.2 静态主机查询 261

7.6 应用层协议类 261

7.6.1 HTTP应用层协议 261

7.6.2 HTTP头信息 261

7.6.3 请求HTTP头信息 262

7.6.4 响应HTTP头信息 262

7.6.5 FTP 262

7.6.6 客户端FTP连接 262

7.7 统一资源定位符 264

7.7.1 URL介绍 264

7.7.2 URL使用界面 264

7.7.3 存放URL信息 265

7.8 网络界面 265

7.9 网络层代理 265

7.10 实例:Qt编写客户端程序 266

7.11 实例:编写FTP客户端程序 270

7.12 实例:HTTP客户端 276

7.13 实例:收发广播报文 282

7.14 实例:HTML预览编辑程序 285

7.15 实例:Web浏览器 290

7.16 实例:屏幕截图程序 293

第8章 Qt数据库编程 298

8.1 数据库发展 298

8.1.1 数据库文件系统 299

8.1.2 数据库系统阶段 299

8.2 数据库模块的三层结构 299

8.2.1 用户接口层 299

8.2.2 SQL应用编程接口层 300

8.2.3 驱动程序层 300

8.3 SQL驱动程序插件 300

8.3.1 使用configure建立一个驱动 300

8.3.2 手动建立插件 301

8.4 连接数据库 301

8.4.1 使用QSqlQuery执行SQL命令 302

8.4.2 QtSql模块和作用 303

8.4.3 数据库索引 304

8.4.4 Qt4数据库图形层 304

8.5 基于数据的窗口部件 306

8.6 实例:SQL缓存表 306

8.7 实例:基于图片记录查询 309

8.8 实例:数据库基本浏览 319

8.9 实例:基本数据处理 322

第9章 Qt进程与线程 327

9.1 Qt内部进程通信 327

9.2 早期的IPC方法:信号与管道 332

9.3 信号机制 333

9.4 管道 333

9.5 基于平台的线程QThread 334

9.5.1 同步线程 335

9.5.2 线程安全的事件传递 339

9.5.3 Qt库互斥量 339

9.5.4 线程互斥锁 339

9.6 实例:曼德布洛特集合 343

第9章 Qt进程与线程 327

9.1 Qt内部进程通信 327

9.2 早期的IPC方法:信号与管道 332

9.3 信号机制 333

9.4 管道 333

9.5 基于平台的线程QThread 334

9.5.1 同步线程 335

9.5.2 线程安全的事件传递 339

9.5.3 Qt库互斥量 339

9.5.4 线程互斥锁 339

9.6 实例:曼德布洛特集合 343

第10章 Qt工具使用 352

10.1 Qt设计器使用 352

10.1.1 开始使用Qt设计器 352

10.1.2 建立部件与使用布局 352

10.1.3 在设计器中创建部件 354

10.1.4 使用信号与槽编辑器模式 356

10.2 Qt设计器编辑部件样式 356

10.3 编译器平台说明 357

10.4 Qt翻译工具 358

10.4.1 翻译过程的概述 358

10.4.2 发行管理 358

10.4.3 翻译器使用 359

10.4.4 TS文件格式 359

10.5 使用预定义头文件 360

10.5.1 添加一个预定义头文件到一个工程 360

10.5.2 工程选项 360

10.6 配置qmake环境 363

10.6.1 QMAKESPEC变量 363

10.6.2 INSTALLS 364

10.6.3 缓冲文件 364

10.7 使用qmake编译工程 364

10.7.1 qmake基础指南 365

10.7.2 qmake编译通用工程 365

10.7.3 qmake命令行 368

10.8 uic用户界面编译器 369

10.8.1 uic的使用方法 369

10.8.2 uic工具实例 369

10.9 RCC资源编译器 370

10.9.1 RCC简介 370

10.9.2 Qt资源系统 370

10.9.3 插件宏 375

第11章 Qtopia Core与嵌入式操作系统 376

11.1 Qtopia Core简介 376

11.2 Qtopia Core安装 376

11.3 Qtopia Core体系架构 378

11.3.1 客户端/服务器端通信 378

11.3.2 鼠标操作层 379

11.3.3 字符输入层 379

11.3.4 实现图形层 379

11.3.5 在屏幕上绘画 380

11.4 Qtopia Core显示管理 380

11.4.1 使显示驱动可用 381

11.4.2 指定显示驱动 381

11.5 Qtopia core字体 382

11.5.1 选项 382

11.5.2 字体目录文件 382

11.6 VNC协议与Qtopia Core 383

11.7 Qtopia Core帧缓冲 383

11.7.1 测试显示帧缓冲 383

11.7.2 使用帧缓冲来运行应用程序 384

11.8 原子操作 384

11.9 系统移植 385

11.9.1 交叉编译Qtopia Core程序 385

11.9.2 裁剪Qtopia库 387

11.9.3 Qtopia Core优化方法 387

11.9.4 移植Qt程序到Qtopia 389

11.9.5 移植Qtopia Core到其他的操作系统 389

11.9.6 设计Qtopia Core应用程序 390

11.10 Qtopia Core与客户端通信 391

11.11 Qtopia Core窗口装饰 391

11.12 字体引擎信息与插件 392

11.13 QWSServer服务器端 393

11.13.1 客户端管理 393

11.13.2 鼠标管理 393

11.13.3 键盘管理 394

11.13.4 显示管理 394

11.13.5 输入法操作 394

11.14 Qtopia与OpenGL 394

11.15 QtOpenGL模块 396

11.15.1 QGLWidget类参考 397

11.15.2 OpenGL绘画执行部件 398

11.16 实例:鼠标校准程序 400

11.17 实例:加速图形驱动 404

11.18 实例:在嵌入式系统中使用OpenGL 412

11.19 全局Qt声明 421

11.19.1 函数 421

11.19.2 宏 422

11.20 电话应用程序接口(API) 422

11.21 创建一个图片的视图程序 423

11.21.1 初始化安装 423

11.21.2 viewer.cpp文件定义 424

11.21.3 文件:listscreen.cpp 424

11.21.4 创建一个List Screen 425

11.21.5 安装一个模型 425

11.21.6 装载UI用户图形界面 426

11.21.7 为List Screen提供动作 426

11.21.8 使用信号与槽的方法打开一个文件 427

11.22 Qtopia Core对蓝牙的支持 427

11.22.1 介绍 427

11.22.2 硬件的需求 428

11.22.3 软件的需求 428

11.22.4 Qtopia的配置 428

11.23 QFrame框架类 428

11.24 Qtopia类功能划分 429

11.25 什么是GDB 431

11.26 调试Qtopia应用程序 431

11.27 关于Qtopia综合指导 433

11.27.1 Linux内核需求 433

11.27.2 最小化配置 433

11.27.3 Qtopia所依赖的添加选项 433

11.27.4 有用的调试选项 435

11.27.5 Qtopia更新文件系统 435

11.27.6 文件系统分区 436

11.27.7 建立Qtopia系统 437

11.27.8 Qtopia Core功能系统 439

11.27.9 鼠标与输入插件 440