本書以完成一個智能家居項目為主線,講述了實訓各個階段所需要的知識。全書分為三篇,第一篇講述了項目的界面部分,用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);