本书以完成一个智能家居项目为主线,讲述了实训各个阶段所需要的知识。全书分为三篇,第一篇讲述了项目的界面部分,用Qt程序设计,并以一个小项目媒体播放器的制作来加深理解;第二篇讲述了项目的驱动程序部分,即基于ARM学习板及扩展电路板的驱动程序的编写;第三篇讲述了系统的集成,即嵌入式Qt界面控制硬件,完成一个简易的智能家居项目。
第一篇 Qt程序设计
第1章 Qt编程基础及开发环境的搭建 1
1.1 Qt的起源 1
1.2 Linux系统下的图形界面 3
1.3 Qt的特点及主要构成 5
1.4 Qt开发环境的搭建 8
1.5 使用Qt开发环境创建第一个
应用程序 28
第2章 Qt编程基础 36
2.1 C++基础 36
2.2 Qt程序编译过程分析 43
2.3 Qt控件编程 52
2.4 Qt布局管理 60
2.5 信号与槽 61
2.6 媒体播放器的制作 62
第3章 智能家居项目Qt界面设计 75
3.1 界面跳转 75
3.2 智能家居多级子项目界面设计 81
第二篇 驱动程序开发
第4章 搭建开发环境 93
4.1 软件开发环境的搭建 93
4.2 硬件环境介绍 129
第5章 驱动程序开发的内核基础 144
5.1 嵌入式Linux操作系统的移植
过程概述 144
5.2 基于GEC2440开发板的内核移植 146
5.3 常见的嵌入式内核驱动编译与
移植 161
第6章 智能家居项目驱动程序实验 177
6.1 房间灯驱动程序 177
6.2 窗帘模块驱动程序 186
6.3 温湿度控制模块驱动程序 203
6.4 烟雾及红外检测模块驱动程序 215
第三篇 系统集成
第7章 Qt图形下载到学习板 239
7.1 带QtE4的文件系统分析 239
7.2 对QtE应用程序的编译 240
第8章 智能家居项目集成 241
8.1 把测试程序加入到Qt程序中 241
8.2 驱动程序的统一加载 257
附录 制作根文件系统 258
参考文献 263
2.1 C++基础
Qt是在标准C++上的扩展,读者如果有标准C++的基础,则再学Qt将更容易一些。
例2.1 建立一个Point类a.cpp,包含数据成员x、y,编写main()进行测试。
(1) 使用g++进行编译。
(2) 把这个Point类拆分为aa.h、aa.cpp、main.cpp,编写makefile进行编译。
解:
编写的代码如下:
#include
using namespace std;
class Point
{
public:
Point(float a=0, float b=0);