從零開始 Qt可視化程序設計基礎教程
內容描述
本書主要介紹C++的基礎知識和Qt編程的相關知識,幫助讀者盡快掌握Qt編程的相關技術。
本書第1~4章主要介紹C++基礎語法、類和對象、繼承與派生、虛函數與多態等Qt編程常用的C++內容,讓讀者快速掌握Qt編程的基礎知識。第5~9章主要介紹Qt編程的相關內容,幫助讀者快速入門,並通過多個實例讓讀者進一步掌握Qt編程的相關應用。
本書不僅適合相關專業的學生參考使用,也適合對Qt編程感興趣的讀者閱讀。
目錄大綱
001 第 1章 C++程序基礎
002 1.1 C++簡介
002 1.1.1 C++語言簡介
002 1.1.2 C++與C語言的不同
003 1.2 環境搭建
006 1.3 C++基礎語法
006 1.3.1 第 一個C++項目
010 1.3.2 C++關鍵字
011 1.4 基本數據類型和變量
011 1.4.1 基本的內置類型
012 1.4.2 變量的聲明和初始化
012 1.4.3 變量作用域
014 1.4.4 常量定義
015 1.5 運算符
015 1.5.1 算術運算符
017 1.5.2 賦值運算符
018 1.5.3 比較運算符
019 1.5.4 邏輯運算符
021 1.6 控制台數據輸入和輸出
022 1.7 結構化程序設計
022 1.7.1 選擇結構
026 1.7.2 循環結構
029 1.7.3 跳轉語句
032 1.8 參數和函數
033 1.8.1 函數的定義
033 1.8.2 函數調用
034 1.8.3 值傳遞
035 1.8.4 函數的常見樣式
036 1.8.5 函數的聲明
037 1.8.6 外部文件
038 1.9 數組與字符串
038 1.9.1 數組
043 1.9.2 字符串
046 1.10 指針
046 1.10.1 什麼是指針
046 1.10.2 指針的使用
047 1.10.3 指針和數組
048 1.10.4 指針和函數
049 1.11 結構體
049 1.11.1 結構體的定義和使用
050 1.11.2 結構體作函數參數
051 1.11.3 結構體指針
052 1.12 異常處理
053 1.12.1 拋出異常
053 1.12.2 捕獲異常
056 1.13 命名空間
057 1.13.1 命名空間的定義
058 1.13.2 使用命名空間
058 1.14 在統信UOS環境下安裝Qt
059 1.15 小結
059 1.16 習題
060 第 2章 類和對象
061 2.1 類的定義
062 2.1.1 對象的創建
062 2.1.2 對像數據成員的訪問
063 2.1.3 成員的訪問權限
064 2.2 類的使用
064 2.2.1 類的作用域
065 2.2.2 對象成員的引用
066 2.3 構造函數和析構函數
067 2.3.1 構造函數類型
068 2.3.2 複製構造函數調用情況
069 2.3.3 深複製與淺複製
071 2.4 對像數組
072 2.5 this指針
073 2.6 靜態成員
074 2.7 小結
074 2.8 習題
075 第3章 繼承與派生
076 3.1 類的繼承
076 3.1.1 基類和派生類
077 3.1.2 派生類的定義
078 3.1.3 派生類的構成
081 3.2 派生類的訪問權限
084 3.3 派生類的構造函數與析構函數
085 3.4 多繼承和虛基類
086 3.4.1 多繼承
087 3.4.2 虛基類
089 3.5 小結
090 3.6 習題
091 第4章 虛函數與多態
092 4.1 多態的概念
093 4.2 虛函數
093 4.2.1 virtual關鍵字
094 4.2.2 虛函數調用原理
096 4.2.3 多態條件和應用
097 4.3 虛析構函數
098 4.4 多態應用場景
100 4.5 純虛函數和抽像類
101 4.6 小結
101 4.7 習題
102 第5章 Qt基礎
103 5.1 Qt概述
103 5.1.1 發展歷史
103 5.1.2 跨平台
103 5.1.3 Qt模塊
104 5.2 Qt項目創建
104 5.2.1 通過嚮導創建
107 5.2.2 Qt Creator 界面
108 5.2.3 項目基本結構
108 5.2.4 . pro文件詳解
109 5.2.5 程序編譯調試
111 5.3 信號和槽機制
111 5.3.1 信號和槽的使用
114 5.3.2 自定義信號和槽函數
119 5.3.3 Q_OBJECT
119 5.3.4 Lambda表達式
121 5.4 計算器程序設計
122 5.4.1 控件簡介
123 5.4.2 代碼設計
126 5.4.3 全部源代碼和註釋說明
130 5.4.4 實驗結論
130 5.5 小結
130 5.6 習題
132 第6章 Qt可視化UI設計
133 6.1 Qt Creator設計模式界面
136 6.1.1 類提升
137 6.1.2 按鈕
139 6.1.3 數值輸入和顯示組件
143 6.1.4 選項和佈局
144 6.1.5 進度條
145 6.1.6 微調盒和滑動條
146 6.1.7 定時器和時間獲取
148 6.1.8 懸停窗口
149 6.1.9 樹形結構
152 6.1.10 菜單欄、工具欄及狀態欄
155 6.2 對話框
155 6.2.1 模態和非模態對話框
156 6.2.2 文件對話框和消息對話框
163 6.2.3 其他對話框
168 6.3 事件
168 6.3.1 事件概念
171 6.3.2 事件函數
173 6.3.3 事件接收和忽略
175 6.3.4 事件過濾器
178 6.3.5 綜合示例
184 6.4 繪圖
184 6.4.1 畫筆
186 6.4.2 繪圖設備
188 6.5 多窗體
193 6.6 資源文件
197 6.7 小結
197 6.8 習題
198 第7章 Qt應用編程
199 7.1 文件操作
199 7.1.1 QFile
200 7.1.2 QTextStream
202 7.1.3 QDataStream
204 7.2 多線程
204 7.2.1 QThread
206 7.2.2 事件驅動方式
208 7.2.3 線程退出
209 7.2.4 線程繪圖
212 7.3 網絡應用編程
212 7.3.1 TCP/IP原理
213 7.3.2 TCP Socket編程
217 7.4 數據庫應用編程
218 7.4.1 數據庫操作
222 7.4.2 使用模型操作數據庫
228 7.5 小結
228 7.6 習題
229 第8章 基於人臉檢測的多路入侵監視系統
230 8.1 OpenCV的安裝、配置和驗證
230 8.1.1 OpenCV的編譯配置過程
231 8.1.2 圖像讀取
232 8.2 基於攝像頭的人臉檢測
232 8.2.1 讀取攝像頭圖像
236 8.2.2 人臉檢測
238 8.3 理解基於人臉檢測的多路入侵監視系統
239 8.3.1 服務器端程序
242 8.3.2 客戶端程序
246 8.4 小結
246 8.5 習題
247 第9章 Qt應用程序打包
248 9.1 打包過程
249 9.2 小結
249 9.3 習題
250 附錄 Qt編程常見問題
作者介紹
彭凌西,廣州大學教授,計算機應用專業博士,博士後導師,中國計算機學會高級會員,主要研究方向為智能算法和網絡安全,發表SCI 論文20 多篇,出版著作2 部,從事計算機教學和研究工作20 多年,主講C/C++ 程序設計、UNIX 系統編程、數據庫原理、可視化程序設計、人工智能導論等課程。
唐春明,廣州大學教授,博士生導師,廣州市高層次人才優秀專家。現為廣州大學研究生院常務副院長、廣東省信息安全技術重點實驗室主任、中國密碼學會組織工作委員會副主任、廣東省數學會常務理事兼副秘書長、廣東省學位與研究生教育學會常務理事。
陳統,廣東軒轅網絡科技股份有限公司董事長,廣州市高層次人才優秀專家,主要研究方向為計算機應用技術、雲計算大數據及人工智能等,參與編寫行業白皮書1 本,參與製定行業標準2項,參與編寫雲計算大數據教材14部,同時主持參與了10 餘項國家、省、市等政府科技項目。