Qt 5.12實戰 ( 簡體 字) |
作者:朱晨冰 李建英 | 類別:1. -> 作業系統 -> Linux -> QT |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 53579 詢問書籍請說出此書號!【有庫存】 NT售價: 595 元 |
出版日:11/1/2020 |
頁數:483 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302564775 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:Qt作為一個跨平臺的開源C++應用程序開發框架,在國內外有非常廣泛的應用,尤其是面向軍工、嵌入式、自主可控的信息安全行業,Qt是個必不可少的編程工具。所以,掌握Qt的開發技能對于C/C++開發者顯得尤為重要,因為很多商業軟件都要求能在多個操作系統下運行。 本書以Qt 5.12.2版本為開發平臺,循序漸進地介紹Qt開發應用程序的常用技術,包括在Windows和Linux下的Qt開發環境的搭建、單步調試功能的使用、應用程序的基本架構、信號與槽工作機制、Qt繪圖、對話框編程、常用界面組件編程、文件讀寫、Windows和Linux下的庫的創建和使用、繪圖、數據庫、多線程、網絡和多媒體等模塊的使用。每個編程主題都精心設計了完整的實例程序,并且步驟詳細,有助于讀者快速上手。通過閱讀本書,大家可以了解Qt開發應用程序所需的基本技術。 Qt應用程序既可以在VC 2017下開發,也可以在Qt Creator下開發。考慮到讀者可能跨平臺開發,大部分示例都是在Qt Creator下開發的,版本是Qt 5.12自帶的Qt Creator 4.8。編程開發僅僅了解理論是不夠的,只有上機調試后才能深刻理解,Qt更是如此。為了照顧初學者,本書的每個實例步驟講解得非常詳細,從建立項目到運行項目都提供豐富的注釋。另外,本書的所有實例和資源都可以免費下載。 本書講述Qt開發最基本的、必須掌握的內容,既有Windows下的Qt開發,也有Linux下的Qt開發,可以說一線開發會碰到的問題在本書中基本都有所涉及。限于篇幅,沒有加入C++語言的介紹,需要讀者具備一定的C/C++語言知識。 Qt在當前C++跨平臺編程領域已居霸主地位,希望大家能夠通過本書的學習打好Qt開發的基礎,早日成為Qt高手。
源碼下載 本書配套源代碼與編程環境,可掃描右側二維碼獲取。 如果下載有問題,請聯系 ,郵件主題為“Qt 5.12實戰”。 技術支持郵箱 本書技術支持郵箱。讀者在閱讀本書中發現問題,可以直接郵件聯系。 雖然我們非常用心地編寫本書,但是疏漏之處在所難免,希望讀者不吝指教。
作 者 2020年8月 |
內容簡介:Qt是一個跨平臺C++圖形用戶界面應用程序開發框架,既可以開發GUI程序,也可以開發非GUI程序,比如控制臺工具和服務器等,在軟件工業界有廣泛的應用。 本書分為15章,內容包括Qt概述、開發環境、編程基礎、對話框程序設計、控件設計、數據庫編程、調用Windows動態鏈接庫、使用Linux靜態庫和共享庫、文件編程、菜單欄/工具欄和狀態欄、圖形編程、多線程編程、多媒體編程、網絡編程、應用程序發布。 本書既適合Qt編程初學者、Qt跨平臺應用開發人員閱讀,也適合作為高等院校和培訓學校相關專業的教材。 |
目錄:第1章Qt概述 1 1.1Qt簡介 1 1.2發展歷程 1 1.3Qt的優點 2 1.4Qt和MFC的比較 3 1.5Qt的主要應用領域 6 1.6Qt的版本 8 第2章搭建Qt5.12開發環境 11 2.1搭建Windows下的Qt開發環境 11 2.1.1搭建基于MSVC編譯器的開發環境 12 2.1.2搭建基于GCC編譯器的開發環境 34 2.1.3部署Qt4.7.4開發環境 35 2.2搭建Linux下的Qt開發環境 40 2.2.1準備虛擬機Linux 40 2.2.2下載Qt5.12.2 47 2.2.3下載安裝依賴包 48 2.2.4安裝Qt 48 2.2.5配置環境變量 49 2.2.6驗證是否安裝成功 50 2.2.7啟動QtCreator 50 2.2.8第一個Linux下的Qt程序 50 2.2.9做個快照 52 2.3QtCreator的一些小技巧 53 2.3.1添加刪除行的快捷鍵 53 2.3.2改變編輯器的顏色 53 2.3.3設置默認的構建套件 54 第3章Qt編程基礎 55 3.1Qt基本數據類型 57 3.2字節數組類QByteArray 58 3.2.1初始化 59 3.2.2訪問某個元素 60 3.2.3截取子字符串 60 3.2.4獲取字節數組的大小 61 3.2.5數據轉換與處理 62 3.2.6字母大小寫的轉換 65 3.2.7字符串數值轉為各類數值 65 3.2.8QByteArray與char*互轉 66 3.2.9QByteArray與std::string互轉 67 3.2.10與字符串QString互轉 67 3.2.11QByteArray與自定義結構體之間的轉化 68 3.2.12判斷是否為空 69 3.2.13向前搜索和向后搜索 70 3.2.14插入 70 3.3字符類QChar 71 3.3.1QChar的編碼 71 3.3.2Qchar類的接口 72 3.4字符串類QString 73 3.4.1Qstring類的特點 74 3.4.2Qstring類的常用操作 74 3.5列表類QList 88 3.6字符串列表類QStringList 92 3.7Qt和字符集 96 3.7.1計算機上的3種字符集 96 3.7.2VC-Qt開發環境對Unicode和多字節的支持 99 3.7.3QtCreator開發環境對Unicode和多字節的支持 102 3.7.4在QtCreator中使用中文字符的兩種方式 103 3.8認識Qt界面Widgets 104 3.9Qt中與界面相關的類庫 105 3.9.1QObject類 106 3.9.2QWidget類 107 3.9.3和主窗口有關的類 107 3.9.4對話框類和控件類 108 3.9.5QtWidgets應用程序類型 108 3.10獲取系統當前時間 115 3.11事件 116 3.11.1基本概念 116 3.11.2事件的描述 117 3.11.3事件的類型 117 3.11.4事件的處理 117 3.11.5事件的傳遞 118 3.12信號 119 3.12.1基本概念 119 3.12.2信號和槽的連接 119 3.12.3信號和事件的區別 121 第4章Qt對話框程序設計 122 4.1對話框程序設計概述 122 4.2對話框的擴展性 122 4.3對話框的默認按鈕 122 4.4QDialog類 123 4.5初始化對話框的地方 125 4.6一個簡單的對話框程序 126 4.7設置對話框的屬性 129 4.7.1對話框的標題 130 4.7.2Qt中的坐標系統 132 4.7.3geometry屬性 135 4.7.4minimumSize屬性和maximumSize屬性 135 4.7.5設置對話框的尺寸、圖標和背景圖片 136 4.8在對話框上使用按鈕控件 141 4.8.1顯示控件工具箱 141 4.8.2拖動一個按鈕到對話框 141 4.8.3選中按鈕控件 142 4.8.4移動對話框上的按鈕控件 142 4.8.5對齊對話框上的按鈕控件 142 4.8.6調整按鈕控件的大小 142 4.8.7刪除對話框上的按鈕控件 143 4.8.8為按鈕控件添加事件處理函數 143 4.9模態對話框和非模態對話框 145 4.10通用對話框 149 4.10.1消息對話框 150 4.10.2文件對話框 159 4.10.3字體對話框QFontDialog類 166 4.10.4顏色對話框 169 4.11移動對話框到指定位置 171 4.12在對話框非標題欄區域實現拖動 172 第5章Qt控件設計 174 5.1控件概述 174 5.2對話框程序設計概述 174 5.3按鈕類控件 175 5.3.1概述 175 5.3.2按鈕類的父類QAbstractButton 175 5.3.3按壓按鈕 176 5.3.4工具按鈕 179 5.3.5單選按鈕 182 5.3.6復選框 185 5.3.7對話框組合按鈕 190 5.4列表視圖控件 191 5.4.1抽象數據項模型QAbstractItemModel 192 5.4.2字符串列表數據模型QStringListModel 193 5.4.3文件系統數據模型QDirModel 197 5.5樹形視圖控件 199 5.5.1標準數據項QStandardItem 199 5.5.2標準數據項模型QStandardItemModel 200 5.5.3添加表頭 203 5.5.4隱藏表頭 204 5.5.5表項的操作 204 5.6組合框 212 5.6.1添加內容項和設置圖標 212 5.6.2刪除某個內容項 213 5.6.3清空組合框內容 213 5.6.4組合框列表項的訪問 213 5.6.5選擇項發生變化時的信號 213 5.7字體組合框 216 5.8標簽控件 217 5.9分組框控件 224 5.10正則表達式和QregExp類 224 5.10.1正則表達式的規則 225 5.10.2正則表達式中的一些高級規則 228 5.10.3其他通用規則 230 5.10.4正則表達式屬性 231 5.10.5QregExp類 232 5.11行編輯框 236 5.11.1常用成員函數 236 5.11.2用于描述輸入框如何顯示其內容的枚舉值 237 5.11.3對齊方式 237 5.11.4獲取和設置選擇的文本 237 5.11.5常用信號 237 5.11.6限制字符的輸入 238 5.12進度條控件 243 5.12.1QProgressBar類的常用函數 244 5.12.2進度方向 244 5.12.3文本顯示 245 5.12.4繁忙指示 246 5.13布局管理器 247 5.13.1基本布局管理器QBoxLayout類 247 5.13.2柵格布局管理器QGridLayout類 248 5.13.3窗體布局管理器QFormLayout類 248 5.13.4棧布局管理器QStackedLayout類 248 第6章Qt數據庫編程 250 6.1數據庫的基本概念 250 6.2QtSQL模塊 251 6.3訪問數據庫 253 6.3.1訪問Access數據庫 253 6.3.2訪問SQLite數據庫 258 第7章Qt調用Windows下的動態鏈接庫 266 7.1動態鏈接庫的定義 266 7.2使用動態鏈接庫的好處 267 7.3動態鏈接庫的分類 268 7.4Win32DLL的開發和Qt調用 268 7.4.1在DLL中導出全局函數并調用 268 7.4.2在VC++中使用DLL的導出函數 272 7.4.3函數DllMain() 278 7.4.4在Qt中調用DLL的導出函數 281 7.4.5在Qt中調用DLL的導出變量 295 7.4.6在DLL中導出類 302 7.4.7在Qt項目中調用DLL的導出類 306 7.4.8Qt生成DLL 307 7.4.9其他語言調用Qt生成的DLL 310 7.5MFC下DLL的開發和Qt的調用 317 7.5.1MFCDLL的生成 317 7.5.2在Qt下調用MFCDLL 323 第8章在Qt中使用Linux的靜態庫和動態庫 325 8.1Qt程序調用靜態庫和動態庫 325 8.1.1庫的基本概念 325 8.1.2庫的分類 325 8.2靜態庫 326 8.2.1靜態庫的基本概念 326 8.2.2靜態庫的創建和使用 326 8.2.3在Qt項目中使用靜態庫 328 8.3動態庫 329 8.3.1動態庫的基本概念 329 8.3.2動態庫的創建和使用 330 8.3.3在Qt中使用動態庫 335 第9章Qt文件編程 337 9.1輸入/輸出設備類 337 9.2文件類QFile 337 第10章Qt菜單欄、工具欄和狀態欄 350 10.1菜單的設計與開發 350 10.1.1菜單欄類QMenuBar 351 10.1.2動作類QAction 352 10.1.3菜單類QMenu 353 10.1.4以可視化方式添加菜單 358 10.1.5快捷菜單 360 10.2工具欄的設計與開發 361 10.3狀態欄的設計與開發 366 10.3.1將子菜單項提示信息顯示在狀態欄上 369 10.3.2臨時信息不需要標簽 370 10.3.3在狀態欄上使用按鈕 370 第11章Qt圖形編程 372 11.1概述 372 11.2重繪事件處理函數paintEvent() 373 11.3點的坐標QPoint 375 11.3.1成員函數 375 11.3.2相關非成員 376 11.3.3定義一個點 376 11.3.4計算歐氏距離(兩點之間的距離) 376 11.3.5獲取和設置點的分量值 377 11.3.6利用x和y坐標的引用值實現自加和自減 378 11.3.7利用重載運算符計算點坐標 378 11.4矩形尺寸QSize 379 11.4.1成員函數 379 11.4.2非成員函數 380 11.4.3定義一個矩形尺寸 381 11.4.4獲取和設置矩形尺寸的寬度和高度 381 11.4.5利用寬度和高度的引用值實現自加和自減 382 11.4.6縮放矩形尺寸 382 11.4.7利用重載運算符計算矩形尺寸 383 11.5顏色 384 11.5.1構造顏色 385 11.5.2獲取和設置RGB分量 385 11.5.3QColor、QString和QRgb互轉 385 11.6畫筆類QPen 386 11.6.1畫筆的屬性 387 11.6.2構造一支畫筆 390 11.6.3獲取或設置畫筆顏色 390 11.6.4獲取或設置畫筆寬度 390 11.6.5獲取或設置畫筆線型樣式 390 11.7畫刷 391 11.8畫圖類QPainter 393 11.8.1畫直線 393 11.8.2畫矩形 394 11.8.3畫橢圓和圓 394 11.8.4繪制文本 394 第12章Qt多線程編程 398 12.1使用多線程的好處 398 12.2多線程編程的基本概念 399 12.2.1操作系統和多線程 399 12.2.2線程的基本概念 399 12.2.3線程的狀態 400 12.2.4線程函數 401 12.2.5線程標識 401 12.2.6Qt多線程編程的3種方式 401 12.3在Qt中使用POSIX多線程庫 402 12.3.1線程的創建 402 12.3.2線程的屬性 408 12.3.3線程的結束 420 12.3.4線程退出時的清理機會 428 12.4在Qt中使用C++11線程類 434 12.4.1線程的創建 435 12.4.2線程的標識符 443 12.4.3當前線程this_thread 444 12.5使用Qt自身的線程類 448 12.5.1Qthread類的基本使用 448 12.5.2線程間通信 452 第13章Qt多媒體編程 459 13.1概述 459 13.2QMediaPlayer類 460 13.2.1重要的成員函數 460 13.2.2重要信號 461 13.2.3播放音頻 461 13.2.4播放視頻 462 第14章Qt網絡編程 468 14.1TCP/IP協議 468 14.1.1基本概念 468 14.1.2TCP/IP協議的分層結構 468 14.2獲取主機的網絡信息 470 14.2.1QHostInfo類 470 14.2.2查詢本機的主機名 471 14.2.3查詢本機的IP地址 472 14.3TCP編程 475 第15章Qt應用程序發布 482 |
序: |