Product Information
ISBN: 9786267273883
出版日期: 2023-10-20
作者: 孫洋洋,王碩
裝訂: 平裝.單色印刷.872頁.23.
✤ 本書結構
本書共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 的優秀開放原始碼專案。本書只會對這些專案進行簡單介紹,感興趣的讀者可自行研究。
作者簡介
孫洋洋,王碩
作者簡介
孫洋洋
就職於國營保險公司資管部門,負責公司量化投研體系的開發與維護以及策略研發。熟悉多種程式設計語言,目前以Python為主。擅長量化投資與程式GUI開發、網路爬蟲、機器學習,在金融量化投資領域有多年工作經驗。
王碩
現從事Python,Go和Java的相關工作,熱愛並長期專注於前端開發,巨量資料和高性能計算技術的研究,積累了大量的一線開發經驗,具有豐富的工業級系統開發和運維實戰經驗。
Shipping Information
Zone | Order Total (RM) | Delivery Fee (RM) |
---|---|---|
West Malaysia | Flat Rate | 6.00 |
Zone | Items/Weight | Delivery Fee (RM) |
---|---|---|
East Malaysia | First 1.00 kg | 12.00 |
Extra 1.00 kg | 2.50 | |
Singapore | First 1.00 kg | 25.00 |
Extra 1.00 kg | 5.00 | |
Australia, New Zealand | First 1.00 kg | 159.77 |
Extra 0.50 kg | 52.65 | |
Austria, Denmark, Finland, Ireland, Switzerland, Russia | First 1.00 kg | 157.78 |
Extra 0.50 kg | 34.31 | |
Brunei, Cambodia, Laos, Mongolia | First 1.00 kg | 175.10 |
Extra 0.50 kg | 87.14 | |
Belgium,France, Germany, Netherlands, Spain, U.K | First 1.00 kg | 150.94 |
Extra 0.50 kg | 30.46 | |
China | First 1.00 kg | 96.44 |
Extra 0.50 kg | 25.35 | |
Bangladesh, Brazil, Iraq, Pakistan, Qatar, S.Arabia, UAE, Sri Lanka | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
South Africa | First 1.00 kg | 118.52 |
Extra 0.50 kg | 24.96 | |
Philippines | First 1.00 kg | 91.42 |
Extra 0.50 kg | 15.29 | |
Canada, United States, Mexico | First 1.00 kg | 162.58 |
Extra 0.50 kg | 35.90 | |
Hong Kong | First 1.00 kg | 80.63 |
Extra 0.50 kg | 29.06 | |
India | First 1.00 kg | 113.30 |
Extra 0.50 kg | 22.28 | |
Indonesia | First 1.00 kg | 107.35 |
Extra 0.50 kg | 24.87 | |
Japan | First 1.00 kg | 112.97 |
Extra 0.50 kg | 35.03 | |
Macau | First 1.00 kg | 92.93 |
Extra 0.50 kg | 13.82 | |
Singapore | First 1.00 kg | 74.75 |
Extra 0.50 kg | 21.49 | |
Taiwan | First 1.00 kg | 94.42 |
Extra 0.50 kg | 34.76 | |
Thailand | First 1.00 kg | 94.10 |
Extra 0.50 kg | 28.25 | |
Vietnam | First 1.00 kg | 98.94 |
Extra 0.50 kg | 14.34 |