✤ 本書結構
本書共9 章,包含PySide 6 / PyQt 6 常用知識及一些經典的應用。每章的側重點不同,並且相對獨立,讀者根據目錄即可獲取自己所需的內容。
第1 章介紹PySide / PyQt 的入門知識,主要介紹PySide 和PyQt 的基本概念、PySide 6 / PyQt 6 的安裝和使用(包括Qt Designer 等工具的初步用法)、常見IDE(PyCharm、VSCode、Eric 7)的安裝、設定與使用。已經有一定基礎的讀者可以略過本章。
第2章介紹Qt Designer 的詳細用法。Qt Designer 是PySide / PyQt的視覺化介面編輯程式,透過拖曳滑鼠等視覺化操作就可以快速開發出GUI 檔案(*.ui 檔案),可以透過官方提供的uic 工具把.ui 檔案自動轉為.py 檔案。本章介紹了PySide / PyQt 程式開發流程,如版面配置管理、訊號與槽連結、功能表列與工具列、增加與轉換資源檔等。對PySide / PyQt 初學者來說,這些是實現快速入門和快速進步的重要內容。第3 章和第4章介紹PySide / PyQt的基本視窗控制項的使用方法。第1章介紹了PySide / PyQt 的環境設定,第2章介紹了PySide / PyQt 完整的開發流程,接下來讀者最想知道的是PySide / PyQt 有哪些常用控制項和如何使用這些控制項,這就是第3章和第4章要解決的問題。
第5章介紹PySide / PyQt的特殊控制項——表格與樹。本章主要介紹表格與樹的用法,入門非常簡單。如果想要更進一步,還需要理解Model / View / Delegate(模型 / 視圖 / 委託)框架,這也是表格與樹的特殊之處。此外,資料量較大的表格往往需要資料庫的支撐,所以本章會涉及資料庫的相關內容。
第6 章介紹一些進階視窗控制項。本章主要介紹第3 ∼ 5 章沒有涉及的其他常用控制項或內容,這也是介紹控制項的最後一章。本章介紹的控制項相對進階一些,比較常用的是版面配置管理與多視窗控制項(容器)。本章還介紹了視窗風格、多執行緒、網頁互動、QSS 的UI 美化等內容,最後以Qt Quick(QML)收尾。
第7章介紹訊號 / 槽和事件。本章對PySide / PyQt 的進階內容進行收尾,是介紹PySide / PyQt 框架的最後一部分內容。前面幾章初步介紹了訊號 / 槽的使用方法,但不夠詳細,本章會對訊號 / 槽和事件進行系統性的介紹,如內建訊號 / 槽、自訂訊號 / 槽、裝飾器訊號 / 槽、訊號 / 槽的斷開與連接、多執行緒訊號 / 槽、事件處理的常用方法等。
第8章介紹Python的擴充應用。第1 ∼ 7章介紹的是PySide / PyQt框架的內容,本章介紹Python對PySide / PyQt 的擴充。學習PySide / PyQt 的一大好處是可以結合Python 生態提高開發效率。Python 生態非常多,本章只介紹部分常用生態,如PyInstaller、Pandas、Matplotlib、PyQtGraph 和Plotly 等,使用這些生態可以更快地開發出GUI 程式。
第9章介紹PySide / PyQt 的實戰應用。本章介紹了兩個應用供讀者參考,一個是在量化投資中的應用,另一個是在券商投資研發中的應用。
此外,本書的附錄內容也很重要。
附錄A介紹PySide / PyQt 各個版本之間相互轉換的問題,主要包括以下兩部分內容。
■■ PySide 6 / PyQt 6 之間的相互轉換。
■■ 將 PySide 2 / PyQt 5 轉為 PySide 6 / PyQt 6。
附錄B透過一個案例來分析如何把Qt 的C++ 程式碼轉為PySide /PyQt 的Python 程式碼。Qt 的生態比PySide / PyQt 更豐富一些,有時需要把Qt 的demo 轉換成PySide / PyQt 的demo,讀者可以參考這部分內容。
附錄C列舉一些常用表格目錄。本書將很多列舉、屬性和函式參數等的用法以表格的形式呈現,絕大部分表格可以根據目錄快速定位到,比較常用但又沒有辦法快速定位到的在這裡以表格形式列出。
附錄D列舉一些筆者了解的基於PySide / PyQt 的優秀開放原始碼專案。本書只會對這些專案進行簡單介紹,感興趣的讀者可自行研究。 |