· 多年嵌入式人才培养及项目研发经验总结
· 数百家企业嵌入式研发岗位人才需求汇总
· 数十所嵌入式专业大学院校教学现状调研
· 侧重实践及案例分析并辅以代码加以讲解
本书主要讲解描述跨平台图形软件的qt使用,qt不但可以运行在windows、linux、mac等操作系统上,还可以移植到嵌入式设备中,并且还有许多第三方驱动。
本书从qt编程最基础的程序讲起,详细讲解了qt模块与qt功能类、qt文件操作、qt桌面软件设计、qt程序与用户交互、qt图形绘制与多媒体、qt网络编程、qt数据库编程、qt进程与线程、qt工具使用、qt嵌入式开发等内容,适合广大qt编程人员、嵌入式工程师、计算机专业师生使用。
第1章 qt概述
1.1 qt程序设计简介
1.1.1 qt版本介绍
1.1.2 创建可重用的软件模式
1.1.3 怎样学习qt
1.2 qt对象类模型
1.2.1 信号与槽
1.2.2 对象与对象树
1.2.3 对象属性
1.2.4 事件和事件过滤器
1.2.5 元对象编译系统
1.3 qt全局函数
1.4 qt的命名技巧
1.5 qt开发工具的优点
1.6 各种平台安装的方法x11/window
1.6.1 tar包安装方式
1.6.2 window平台安装
1.6.3 在x11平台上安装
1.7 x window桌面系统
1.8 qapplication类
.1.9 实例:hello the world
1.10 窗口的基础类qwidget
1.11 入门级实例:设计一个用户界面
1.12 入门级程序:添加地址
1.13 入门实例:地址簿浏览程序
1.14 入门级实例:编辑与删除地址
1.15 入门级实例:地址簿查找功能
1.16 入门实例:从文件中加载与保存到文件
第2章 qt模块与qt功能类
2.1 qt常用模块
2.2 qt部件与组类说明
2.3 基于图形模式部件类
2.3.1 窗口与窗口相关部件
2.3.2 布局管理
2.3.3 桌面环境
2.3.4 多媒体、图形与打印
2.3.5 日期与时间
2.4 网络与i/o
2.4.1 输入/输出(i/o)
2.4.2 网络编程设计
2.4.3 文本处理
2.5 qt公有部件
2.5.1 数据库部件
2.5.2 脚本部件
2.5.3 线程部件
第3章 qt文件操作
3.1 linux下的文件
3.1.1 标准c语言文件操作
3.1.2 实例:c语言下文件读写操作
3.2 文件的访问
3.2.1 抽象文件引擎类
3.2.2 读写文件界面
3.2.3 获得文件信息
3.2.4 监视一个文件与目录
3.3 编码与字符串
3.3.1 双字节编码字符串
3.3.2 字符串队列
3.3.3 字节数组
3.3.4 二进制比特数组
3.3.5 哈希表字典
3.3.6 高速缓冲模板
3.3.7 文件输入/输出类
3.4 文件与设备
3.4.1 访问输入/输出设备基础界面
3.4.2 访问目录结构内容
3.4.3 设备与文件图片读界面
3.4.4 设备与文件图片写界面
3.5 文本流与二进制数据流
3.5.1 数据流
3.5.2 文件流
3.6 监视一个活动文件与活动目录
3.7 临时文件
3.8 文件打开事件
3.9 实例:一个简单的文本浏览的例子
3.10 实例:在指定文件系统中寻找一个文件
3.11 实例:用qt类读取一个目录与驱动盘符
3.12 实例:基本布局管理
3.13 实例:文本查找
第4章 qt桌面软件设计
4.1 x11窗口系统信息
4.2 窗口布局管理
4.2.1 布局简介
4.2.2 横向、纵向和网状布局
4.2.3 标题的布局
4.2.4 带标题组框
4.2.5 几何管理基类
4.2.6 添加部件到布局当中
4.3 键盘焦点
4.4 菜单、工具栏与状态栏
4.4.1 菜单、工具栏
4.4.2 状态栏
4.4.3 用户动作
4.5 多文档窗口显示qmdiarea
4.6 设置应用程序图标
4.6.1 在windows操作系统上设置图标
4.6.2 在linux操作系统上设置图标
4.7 高级窗口部件
4.8 系统托盘
4.9 窗口事件与事件过滤
4.9.1 事件基类
4.9.2 事件运行方式
4.9.3 事件类型
4.10 实例:组框的使用
4.11 实例:标准菜单使用方法
4.12 实例:最小化到系统托盘
4.13 实例:设计一个图片浏览的软件
4.14 实例:排积木程序
第5章 qt程序与用户交互
5.1 液晶屏数字
5.1.1 qlcdnumber部件的详细描述
5.1.2 qtime类
5.2 行编辑器与标签
5.3 显示与编辑多文本
5.3.1 打印文本
5.3.2 调整文本光标界面
5.3.3 qclipboard类窗口剪切板
5.3.4 文档中的表格
5.4 旋转框、复选框与组合框
5.4.1 旋转框
5.4.2 复选框
5.4.3 组合框
5.5 时间与日期编辑部件
5.6 使用横向与纵向进度条
5.7 滑块与滑动区域滚动条
5.8 标准对话框
5.8.1 错误信息对话框
5.8.2 用户输入对话框
5.8.3 字体对话框
5.8.4 颜色对话框
5.8.5 打印配置对话框
5.9 模型与视图架构
5.9.1 模型
5.9.2 视图
5.10 qt中的代理类
5.10.1 使用已存在的代理
5.10.2 使用简单的代理
5.10.3 向模型中提交数据
5.11 实例:颜色对话框
5.12 实例:标准对话框
5.13 实例:带有菜单栏与工具条的文本编辑器
5.14 实例:高亮度显示文本
第6章 qt图形绘制与多媒体
6.1 qt坐标系统
6.2 访问屏幕信息
6.3 绘画系统
6.3.1 图形的绘画
6.3.2 图形填充
6.3.3 创建绘画设备
6.3.4 写入一个图片文件
6.3.5 绘画样式
6.4 图形视图框架
6.4.1 图形视图框架的结构
6.4.2 图形视图坐标系统
6.4.3 主要特色
6.5 综合使用窗口
6.5.1 扩展资源的使用
6.5.2 系统托盘图标
6.5.3 窗口部件
6.6 跨平台使用打印系统
6.6.1 绘画设备与打印
6.6.2 在复杂的部件中绘画
6.7 phonon模块简介
6.7.1 介绍
6.7.2 框架
6.7.3 媒体对象
6.8 基于平台声频文件访问
6.9 实例:基本绘画操作
6.10 实例:符合图形绘画
6.11 实例:根据坐标转换图形
第7章 qt网络编程
7.1 osi七层模型
7.1.1 osi参考模型的提出
7.1.2 osi参考模型的概念
7.1.3 osi参考模型的结构
7.1.4 osi参考模型各层的功能
7.2 进程间通信
7.2.1 什么是bus
7.2.2 对象
7.2.3 消息
7.2.4 服务
7.3 伯克利套接字
7.3.1 通用元素
7.3.2 客户端函数
7.3.3 服务器函数
7.3.4 c语言网络编程模型
7.4 qt封装套接字
7.4.1 tcp报文套接字
7.4.2 udp报文套接字
7.4.3 基于tcp连接的服务器端
7.4.4 安全套接字
7.5 qt网络主机信息类
7.5.1 获得主机名ip
7.5.2 静态主机查询
7.6 应用层协议类
7.6.1 http应用层协议
7.6.2 http头信息
7.6.3 请求http头信息
7.6.4 响应http头信息
7.6.5 ftp
7.6.6 客户端ftp连接
7.7 统一资源定位符
7.7.1 url介绍
7.7.2 url使用界面
7.7.3 存放url信息
7.8 网络界面
7.9 网络层代理
7.10 实例:qt编写客户端程序
7.11 实例:编写ftp客户端程序
7.12 实例:http客户端
7.13 实例:收发广播报文
7.14 实例:html预览编辑程序
7.15 实例:web浏览器
7.16 实例:屏幕截图程序
第8章 qt数据库编程
8.1 数据库发展
8.1.1 数据库文件系统
8.1.2 数据库系统阶段
8.2 数据库模块的三层结构
8.2.1 用户接口层
8.2.2 sql应用编程接口层
8.2.3 驱动程序层
8.3 sql驱动程序插件
8.3.1 使用configure建立一个驱动
8.3.2 手动建立插件
8.4 连接数据库
8.4.1 使用qsqlquery执行sql命令
8.4.2 qtsql模块和作用
8.4.3 数据库索引
8.4.4 qt 4数据库图形层
8.5 基于数据的窗口部件
8.6 实例:sql缓存表
8.7 实例:基于图片记录查询
8.8 实例:数据库基本浏览
8.9 实例:基本数据处理
第9章 qt进程与线程
9.1 qt内部进程通信
9.2 早期的ipc方法:信号与管道
9.3 信号机制
9.4 管道
9.5 基于平台的线程qthread
9.5.1 同步线程
9.5.2 线程安全的事件传递
9.5.3 qt库互斥量
9.5.4 线程互斥锁
9.6 实例:曼德布洛特集合
第9章 qt进程与线程
9.1 qt内部进程通信
9.2 早期的ipc方法:信号与管道
9.3 信号机制
9.4 管道
9.5 基于平台的线程qthread
9.5.1 同步线程
9.5.2 线程安全的事件传递
9.5.3 qt库互斥量
9.5.4 线程互斥锁
9.6 实例:曼德布洛特集合
第10章 qt工具使用
10.1 qt设计器使用
10.1.1 开始使用qt设计器
10.1.2 建立部件与使用布局
10.1.3 在设计器中创建部件
10.1.4 使用信号与槽编辑器模式
10.2 qt设计器编辑部件样式
10.3 编译器平台说明
10.4 qt翻译工具
10.4.1 翻译过程的概述
10.4.2 发行管理
10.4.3 翻译器使用
10.4.4 ts文件格式
10.5 使用预定义头文件
10.5.1 添加一个预定义头文件到一个工程
10.5.2 工程选项
10.6 配置qmake环境
10.6.1 qmakespec变量
10.6.2 installs
10.6.3 缓冲文件
10.7 使用qmake编译工程
10.7.1 qmake基础指南
10.7.2 qmake编译通用工程
10.7.3 qmake命令行
10.8 uic用户界面编译器
10.8.1 uic的使用方法
10.8.2 uic工具实例
10.9 rcc资源编译器
10.9.1 rcc简介
10.9.2 qt资源系统
10.9.3 插件宏
第11章 qtopia core与嵌入式操作系统
11.1 qtopia core简介
11.2 qtopia core安装
11.3 qtopia core体系架构
11.3.1 客户端/服务器端通信
11.3.2 鼠标操作层
11.3.3 字符输入层
11.3.4 实现图形层
11.3.5 在屏幕上绘画
11.4 qtopia core显示管理
11.4.1 使显示驱动可用
11.4.2 指定显示驱动
11.5 qtopia core字体
11.5.1 选项
11.5.2 字体目录文件
11.6 vnc协议与qtopia core
11.7 qtopia core帧缓冲
11.7.1 测试显示帧缓冲
11.7.2 使用帧缓冲来运行应用程序
11.8 原子操作
11.9 系统移植
11.9.1 交叉编译qtopia core程序
11.9.2 裁剪qtopia库
11.9.3 qtopia core优化方法
11.9.4 移植qt程序到qtopia
11.9.5 移植qtopia core到其他的操作系统
11.9.6 设计qtopia core应用程序
11.10 qtopia core与客户端通信
11.11 qtopia core窗口装饰
11.12 字体引擎信息与插件
11.13 qwsserver服务器端
11.13.1 客户端管理
11.13.2 鼠标管理
11.13.3 键盘管理
11.13.4 显示管理
11.13.5 输入法操作
11.14 qtopia与opengl
11.15 qtopengl模块
11.15.1 qglwidget类参考
11.15.2 opengl绘画执行部件
11.16 实例:鼠标校准程序
11.17 实例:加速图形驱动
11.18 实例:在嵌入式系统中使用opengl
11.19 全局qt声明1
11.19.1 函数1
11.19.2 宏
11.20 电话应用程序接口(api)
11.21 创建一个图片的视图程序
11.21.1 初始化安装
11.21.2 viewer.cpp 文件定义
11.21.3 文件:listscreen.cpp
11.21.4 创建一个 list screen
11.21.5 安装一个模型
11.21.6 装载ui用户图形界面
11.21.7 为list screen提供动作
11.21.8 使用信号与槽的方法打开一个文件
11.22 qtopia core对蓝牙的支持
11.22.1 介绍
11.22.2 硬件的需求
11.22.3 软件的需求
11.22.4 qtopia的配置
11.23 qframe框架类
11.24 qtopia类功能划分
11.25 什么是gdb
11.26 调试qtopia应用程序
11.27 关于qtopia综合指导
11.27.1 linux内核需求
11.27.2 最小化配置
11.27.3 qtopia所依赖的添加选项
11.27.4 有用的调试选项
11.27.5 qtopia更新文件系统
11.27.6 文件系统分区
11.27.7 建立qtopia系统
11.27.8 qtopia core功能系统
11.27.9 鼠标与输入插件