-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
12/1 新書到! 11/25 新書到! 11/17 新書到! 11/11 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

Qt 5/PyQt 5實戰指南——手把手教你掌握100個精彩案例

( 簡體 字)
作者:白振勇類別:1. -> 程式設計 -> Python
   2. -> 作業系統 -> Linux -> QT
譯者:
出版社:清華大學出版社Qt 5/PyQt 5實戰指南——手把手教你掌握100個精彩案例 3dWoo書號: 53536
詢問書籍請說出此書號!

缺書
NT售價: 645

出版日:10/1/2020
頁數:593
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787302555285
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
作者序:

譯者序:

前言:

一、 為什么要寫本書
隨著硬件及物聯網技術的飛速發展,PC、平板、手機、智能硬件等越來越多地出現在人們的日常生活中,而為這些硬件設備開發軟件已經成為跨平臺軟件研發工作中非常迫切的需求。Qt作為一款杰出的第三方C++跨平臺類庫,已經成為跨平臺軟件研發工作中一個重要支撐。Qt誕生于20世紀90年代初,目前已發布5.15版(截至本書出版時),Qt可運行于Windows/Linux/Unix等操作系統上。Qt既可以用來開發跨平臺界面類應用,也可以用來開發跨平臺服務器應用。雖然Qt自帶非常豐富的Demo以及非常棒的幫助文檔,但是對于初學者來說,一本實用的開發指導書還是首選。目前市面上關于跨平臺軟件研發的書籍少之又少,更別說用來指導一線研發工作的實戰指南了,因此本書應運而生。
本書緊扣跨平臺軟件開發工作的實際需求,采用系統的、循序漸進的方式,從一個個實用案例出發,講述利用Qt進行開發的各種實用技能; 此外,本書還分享了大量的案例程序代碼,有助于讀者加深對各章節內容的理解。
二、 內容特色
與同類書籍相比,本書有如下特色。
(1) 兼顧Qt 5、PyQt 5。
本書既有C++語言的Qt 5知識,又有Python語言的PyQt 5知識。本書設計了100個應用案例,其中C++版的Qt 5案例61個,PyQt 5版的案例39個。通過學習兩種編程語言的案例,可以更好地滿足實際研發工作對編程技能的需求。
(2) 真正實用。
重點關注軟件設計及實戰技能,而非羅列一堆控件接口說明。主張將學到的技巧應用到日常的軟件開發工作中,比如: 在開發大型項目時pri文件的設計與使用、配置文件的開發方法、類對象的二進制文件的序列化、向前兼容的二進制文件格式設計、帶子屬性的屬性窗等都屬于實用的軟件研發技術案例。
(3) 系統性組織案例。
有利于系統地學習開發技能。本書在內容組織上掌握循序漸進原則,前面的案例為后面的案例打基礎。本書提倡的理念是傳授跨平臺界面開發中用到的系統性解決方案,只要掌握了方法,就有能力自行查閱資料解決問題,畢竟再全面的圖書也不可能把Qt的所有知識都包含進來。
(4) 配套練習,加深理解。
除第1、23、24章外,每章后均附有配套練習,本書提供超過140道配套練習題(見配套資源)。通過針對性練習,可以加深對知識的理解與掌握,更快投入真正的研發工作。
(5) 拒絕從零開始。
配套的程序代碼中含有改動前的基礎代碼和改動后的最終代碼。在閱讀時,讀者可以在改動前的基礎代碼上對照案例講解的內容直接進行修改,這樣可以有效提高學習效率、方便練手。通過利用Winmerge等對比軟件,也可以對比改動前、改動后的代碼,查看改動的具體內容,便于加深對案例的理解。在案例開頭一般都配有運行效果圖。

(6) 配套資源,超值服務。
本書提供以下配套資源:


配套資源

●程序代碼、補充習題、輔助資料等,請掃描此處二維碼或到清華大學出版社本書頁面下載。
●微課視頻(時長共2000分鐘),請掃描各章節對應位置二維碼觀看,讀者可跟隨視頻中演示的步驟進行學習。
●想獲取更多跨平臺開發知識,請關注微信公眾號“軟件特攻隊”(詳見配套資源)。
注意: 請先刮開封四的刮刮卡,掃描刮開的二維碼進行注冊,之后再掃描書中的二維碼,獲取相關資料。





三、 閱讀建議
●先下載本書附帶的源代碼(見配套資源中),閱讀本書時請查閱對應源代碼進行學習。
●本書的源代碼分為兩部分: 改動前的代碼在src.baseline目錄中,各案例以改動前的代碼為基礎進行修改; 改動后的最終代碼在src中。
●第1章為環境搭建及準備工作,C++版的內容在第2~14章,PyQt 5版的內容在第15~22章,第23、24章分別為C++版、PyQt 5版的實戰案例。請根據需求進行閱讀。
●在學習C++版的內容時,請先閱讀第1~7章。
●在文中進行描述時,有的接口只寫了接口名稱,但是并未寫明詳細的參數列表,請根據上下文理解。
●因篇幅所限,文中部分代碼做了省略,請查看附帶的源代碼。為了節省篇幅,PyQt 5案例代碼中刪除了函數之間的空行。
●附錄A列出了PyQt 5常用類所在模塊,電子文檔見配套資源,便于開發時查詢。
四、 讀者對象
●有一定C++/Python基礎的軟件愛好者;
●C++跨平臺軟件研發人員或者PyQt 5研發人員;
●計算機科學與技術相關專業并且有C++、Python基礎的本科生、研究生。
五、 致謝
感謝清華大學出版社的劉星編輯在本書的編寫、校對過程中所付出的辛勤勞動,尤其是對我的耐心指導與答疑。感謝廣大網友的信任、支持與鼓勵,是你們給我帶來了寫作動力。
感謝我的父母、妻子一直以來對我的關心、照顧與支持。感謝我的女兒帶給我的快樂與驚喜。
限于編者的水平和經驗,加之時間比較倉促,疏漏或者錯誤之處在所難免,敬請讀者批評指正。有興趣的朋友可發送郵件,與本書策劃編輯進行交流。
編者

2020年7月于濟南
內容簡介:

《Qt 5/PyQt 5實戰指南——手把手教你掌握100個精彩案例》根據跨平臺軟件研發工作中對Qt技術的需求,按照循序漸進的原則逐步介紹Qt的各種實用技術。本書分為3部分: 第1部分(第1~14章)講述C+ + 版的Qt知識,著重介紹Qt的安裝配置以及開發環境搭建、Qt項目文件的配置與使用、Qt常用類與常用控件的應用、使用Qt Designer繪制窗體與控件、庫的開發與使用、插件開發技術、Qt的MVC機制及應用、SDI與MDI類應用開發技術、Qt多線程應用開發及并發框架、Qt網絡應用程序開發技術; 第2部分(第15~22章)講述PyQt版的開發知識,內容同第一部分大體一致,用Python語言實現并根據Python語言特點省去了部分內容; 第3部分(第23、24章)分別以C++ 語言、Python語言的實戰項目為例,講解Qt技術的綜合應用。全書提供了100個應用案例,除第1、23、24章外,每章后均附有配套練習。
《Qt 5/PyQt 5實戰指南——手把手教你掌握100個精彩案例》適合作為C++/Python跨平臺軟件研發工作人員的參考資料,也可作為高等院校計算機、軟件工程等相關專業高年級本科生、研究生的參考教材。
目錄:

第1章準備工作
1.1推薦的開發環境
1.2安裝VisualStudio2017
1.3安裝Python
1.4安裝LLVM
1.5用編譯的方式安裝Qt5.11.1
1.6用安裝包安裝Qt5.11.1
1.7在Linux上編譯代碼出錯時的處理
1.8配套源代碼
第2章pro與pri
2.1案例1通過一個簡單的EXE來介紹pro的基本配置
2.2案例2整理一下目錄吧
2.3案例3加點料——增加一張圖片
2.4知識點pro文件常用配置
2.5知識點pri文件有什么用
2.6知識點一勞永逸,引入pri體系
2.7案例4還是不知道pri怎么用?來練練手吧
2.8配套練習
第3章多國語言國際化
3.1案例5怎樣實現國際化
3.2知識點幾種常見的國際化編程場景
3.3知識點中英文翻譯失敗如何處理
3.4配套練習
第4章打基礎
4.1案例6開發一個DLL
4.2知識點使用命名空間
4.3案例7QString的6個實用案例
4.4案例8用qDebug()輸出信息
4.5案例9使用QVector處理數組
4.6案例10使用QList處理鏈表
4.7案例11使用QMap建立映射
4.8案例12萬能的QVariant
4.9案例13使用QMessagebox彈出各種等級的提示信息
4.10案例14使用QInputDialog獲取多種類型的用戶輸入
4.11知識點開發自己的公共類庫
4.12案例15普通文本文件讀寫
4.13案例16XML格式的配置文件
4.14知識點INI格式的配置文件
4.15案例17把類對象序列化到二進制文件
4.16案例18從二進制文件反序列化類對象
4.17案例19類的XML格式序列化
4.18知識點類的二進制格式序列化——向后兼容
4.19案例20使用流方式讀寫XML
4.20知識點使用單體模式實現全局配置
4.21案例21讀取GB13000編碼的身份證信息
4.22配套練習


第5章對話框
5.1知識點QtDesigner的使用
5.2知識點在Designer中進行界面布局
5.3案例22對話框——走起
5.4案例23三種編程方式實現信號Q槽開發
5.5案例24自定義signal與信號轉發
5.6案例25disconnect的用途
5.7知識點消息阻塞Q防止額外觸發槽函數
5.8案例26信號Q槽只能用在對話框里嗎
5.9案例27對象之間還能怎么傳遞消息
5.10知識點編程實現控件嵌套布局
5.11知識點樣式
5.12案例28使用QStackedLayout實現向導界面
5.13案例29定時器1
5.14案例30定時器2
5.15配套練習
第6章常用控件
6.1案例31使用QLabel顯示文本或圖片
6.2案例32使用QLineEdit獲取多種輸入
6.3案例33使用QComboBox獲取用戶輸入
6.4案例34使用QListWidget展示數據列表
6.5案例35使用QSlider控制進度
6.6配套練習
第7章用QPainter實現自定義繪制
7.1知識點怎樣進行自定義繪制
7.2案例36萌新機器人
7.3案例37機器人的新裝
7.4配套練習
第8章模型視圖代理
8.1知識點Qt的MVC簡介
8.2知識點使用QStandardItemModel構建樹模型
8.3案例38使用代理實現屬性窗
8.4案例39帶子屬性的屬性窗
8.5配套練習
第9章開發SDI應用
9.1案例40開發一個SDI應用
9.2案例41使用自定義視圖
9.3案例42添加主菜單
9.4案例43常規工具條
9.5知識點在狀態欄上顯示鼠標坐標
9.6知識點使用QSplashScreen為程序添加啟動畫面
9.7知識點工具條反顯
9.8案例44打開文件對話框
9.9案例45浮動窗里的列表框
9.10案例46拖放
9.11案例47使用樹視圖做個工具箱
9.12案例48使用事項窗展示事項或日志
9.13案例49剪切、復制、粘貼
9.14案例50上下文菜單
9.15案例51利用屬性機制實現動畫彈出菜單
9.16知識點main()函數一般都寫什么
9.17配套練習
第10章開發MDI應用
10.1案例52MDI——采用同一類型的View
10.2知識點MDI——采用不同類型的View
10.3配套練習
第11章重寫Qt事件
11.1知識點QWidget事件簡介
11.2案例53通過重寫鼠標事件實現圖元移動
11.3案例54通過重寫鍵盤事件實現圖元移動
11.4知識點無法切換到中文輸入時該怎么辦
11.5配套練習
第12章開發插件
12.1知識點什么是插件,插件用來干什么
12.2案例55怎樣開發插件
12.3配套練習
第13章開發多線程應用
13.1案例56多線程和互斥鎖
13.2知識點多線程應用中如何與主界面通信
13.3案例57使用QtConcurrent處理并發——Map模式
13.4案例58使用QtConcurrent處理并發——MapReduce模式
13.5配套練習
第14章開發網絡應用
14.1案例59基于Qt的TCP/IP編程
14.2案例60TCP/IP多客戶端編程
14.3配套練習
第15章PyQt5基礎
15.1知識點PyQt5簡介
15.2知識點搭建PyQt5開發環境
15.3案例61編寫第一個PyQt5程序
15.4案例62給應用加上圖片
15.5案例63信號Q槽初探——窗口A調用窗口B
15.6案例64編寫代碼實現控件布局
15.7案例65在窗體A中嵌入自定義控件B
15.8案例66使用QLabel顯示GIF動畫
15.9案例67使用QLineEdit獲取多種輸入
15.10案例68使用QComboBox獲取用戶輸入
15.11案例69使用QListWidget展示并操作列表
15.12案例70使用QSlider控制進度
15.13案例71使用QMessageBox彈出提示信息
15.14案例72使用QInputDialog獲取用戶輸入
15.15案例73使用QFileDialog獲取用戶選擇的文件名
15.16知識點把程序最小化到系統托盤
15.17配套練習
第16章PyQt5進程內通信
16.1知識點PyQt5中的信號Q槽
16.2案例74使用自定義信號
16.3案例75帶參數的自定義信號
16.4知識點信號比槽的參數少該怎么辦
16.5案例76使用QTimer實現定時器
16.6知識點使用timerEvent()實現定時器
16.7案例77使用QStackedLayout實現向導界面
16.8配套練習
第17章PyQt5實現自定義繪制
17.1知識點怎樣進行自定義繪制
17.2案例78萌新機器人
17.3案例79機器人的新裝
17.4配套練習
第18章PyQt5中的模型視圖代理
18.1知識點使用QStandardItemModel構建樹模型
18.2案例80最簡單的屬性窗
18.3案例81使用代理實現屬性窗
18.4案例82自定義屬性窗
18.5案例83帶子屬性的屬性窗
18.6配套練習
第19章PyQt5開發SDI應用
19.1案例84開發一個SDI應用
19.2案例85使用自定義視圖
19.3案例86添加主菜單
19.4案例87常規工具條
19.5案例88在狀態欄上顯示鼠標坐標
19.6知識點使用QSplashScreen為程序添加啟動畫面
19.7知識點工具條反顯
19.8案例89浮動窗里的列表框
19.9案例90拖放
19.10案例91使用樹視圖做個工具箱
19.11案例92使用事項窗展示事項或日志
19.12案例93剪切、復制、粘貼
19.13案例94上下文菜單
19.14配套練習
第20章PyQt5開發MDI應用
20.1案例95MDI——采用同一類型的View
20.2知識點MDI——采用不同類型的View
20.3配套練習
第21章PyQt5事件
21.1案例96通過重寫鼠標事件實現圖元移動
21.2案例97通過重寫鍵盤事件實現圖元移動
21.3配套練習
第22章PyQt5開發多線程應用
22.1案例98多線程和互斥鎖
22.2知識點多線程應用中如何刷新主界面
22.3配套練習
第23章項目實戰——敏捷看板(C++版)
23.1知識點項目實戰準備——訪問SQLite數據庫
23.2知識點項目實戰準備——使用QCustomPlot繪制曲線
23.3案例99項目實戰——敏捷看板
第24章項目實戰——敏捷看板(PyQt版)
24.1知識點項目實戰準備——訪問SQLite數據庫
24.2知識點項目實戰準備——用Matplotlib繪制曲線
24.3案例100項目實戰——敏捷看板
附錄APyQt5常用類所在模塊
參考文獻
序: