特價 -20%

Python精解實例 – PySide 6/PyQt 6強大開發親身體驗 DM2365

原始價格:NT$1,280。目前價格:NT$1,024。

出版商 深智數位股份有限公司
出版日期 2023年10月20日
語言 繁體中文
頁數 872
ISBN 9786267273883
Add to Wishlist
貨號: DM2365 Category:

描述

內容簡介

本書結構

本書共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的相關工作,熱愛並長期專注於前端開發,巨量資料和高性能計算技術的研究,積累了大量的一線開發經驗,具有豐富的工業級系統開發和運維實戰經驗。

目錄

目錄

1  認識PySide 6 / PyQt 6  

1.1  PySide 6 / PyQt 6框架簡介

1.2  架設PySide 6 / PyQt 6環境

1.3  PySide 6快捷工具簡介

1.4  常用IDE的安裝設定與使用

1.5  PySide / PyQt的啟動方式

2  Qt Designer的使用

2.1  Qt Designer快速入門

2.2  版面配置管理入門

2.3  Qt Designer實戰應用

2.4  訊號與槽連結

2.5  功能表列與工具列

2.6  增加圖片(資源檔)

3  基本視窗控制項(上)

3.1  主視窗(QmainWindow / QWidget / QDialog)

3.2  標籤(QLabel)

3.3  單行文字標籤(QLineEdit)

3.4  多行文字標籤(QtextEdit / QPlainTextEdit)

3.5  按鈕類別控制項

3.6  工具按鈕(QToolButton)

3.7  下拉式清單方塊(QComboBox)

3.8  微調框(QspinBox / QDoubleSpinBox)

3.9  日期時間控制項

3.10  滑動控制項

3.11  區域捲動(QScrollArea)

4  基本視窗控制項(下)    

4.1  對話方塊類別控制項(QDialog族)

4.2  視窗繪圖類別控制項

4.3  拖曳與剪貼簿

4.4  功能表列、工具列、狀態列與快速鍵

4.5  其他控制項

5  表格與樹

5.1  QListWidget

5.2  QTableWidget

5.3  QTreeWidget

5.4  模型 / 視圖 / 委託框架

5.5  QListView

5.6  QTableView

5.7  QTreeView

5.8  自訂模型

5.9  自訂委託

5.10  Qt資料庫

6  高級視窗控制項

6.1  視窗風格

6.2  版面配置管理

6.3  容器:加載更多的控制項

6.4  多執行緒

6.5  網頁互動

6.6  QSS的UI美化

6.7  QML淺議

7  訊號 / 槽和事件

7.1  訊號與槽的簡介

7.2  訊號與槽的案例

7.3  訊號與槽的參數

7.4  基於Qt Designer的訊號與槽

7.5  事件處理機制

8  Python的擴充應用    

8.1  使用PyInstaller打包專案生成.exe檔案

8.2  Pandas在PySide / PyQt中的應用

8.3  Matplotlib在PyQt中的應用

8.4  PyQtGraph在PyQt中的應用

8.5  Plotly在PyQt中的應用

9  實戰應用

9.1  在量化投資中的應用

9.2  在券商投資研發中的應用

附錄A  Qt for Python程式轉換

附錄B  C++ to Python程式轉換

附錄C  本書一些通用列舉表格目錄

附錄D  優秀PySide / PyQt開放原始碼專案推薦

  Python 是應用最廣泛、最簡單的程式語言之一,Qt 是最好的桌面程式開發函式庫之一。PyQt 是Python 與Qt 結合的產物。PyQt 借助Qt 和Python 兩大生態,一誕生就廣受歡迎,可以說是Python 中應用最廣泛的桌面程式開發(GUI)函式庫。由於PyQt 是Python 與Qt 的結合,因此它既可以利用Python 強大而又簡潔的語法和強大的生態,又不會遺失Qt強大的功能。

事實上,PyQt 是協力廠商提供的Qt for Python 綁定,而Qt 官方提供的Python 綁定為PySide。PySide 的第一個版本在2018 年發佈,是基於Qt 5.11 的PySide 2。PyQt 最早的版本可以追溯到1998 年的PyQt 0.1,當前最新版本為PyQt 6(截至2022 年8 月,最新版本基於Qt 6.3),並且實現了PyQt 與Qt 的同步更新。隨著PySide 2 的逐漸完善,我們有了除PyQt 之外的另一個選擇,在此之前基本上只會選擇PyQt。PySide 和PyQt 都是Qt 對Python 的綁定,兩者絕大部分的方法和用法都一樣,並且兩者之間的程式碼相互轉換也非常容易,對初學者來說隨便選取一種學習即可。學習PySide 6 / PyQt 6 的好處是原來PySide 2 / PyQt 5 的絕大部分案例都能用,少部分程式碼在進行微調以後就能執行。因此,對想要學習GUI 的讀者來說,從PySide 6 / PyQt 6 開始是最好的選擇。

本書增加了很多新的基礎知識,包含了初學者學習PySide 6 / PyQt 6需要掌握的絕大多數內容。在開始撰寫本書時,PySide 生態已經非常完善,PySide 6 比PyQt 6 的更新速度更快。本書提供了PySide 6 和PyQt 6兩套原始程式碼,讀者可以把本書作為PySide 6 / PyQt 6 的小百科,因為本書涉及PySide 6 / PyQt 6 絕大多數常用的基礎知識,並且內容足夠豐富。如果讀者想快速入門PySide / PyQt,那麼本書絕對可以滿足你的需求。

經過一年多的不懈努力,本書終於得以出版,希望能夠幫助更多的朋友快速掌握PySide 6 / PyQt 6 開發技術,少走冤枉路,節約時間成本。

在筆者最初接觸PyQt 的時候,查詢各種資料非常痛苦,因此讓更多的人減輕這種痛苦是筆者完成本書最大的動力。本書若能幫助更多的讀者快速入門PySide 6 / PyQt 6,將是筆者莫大的榮幸。

額外資訊

出版商

深智數位股份有限公司

出版日期

2023年10月20日

語言

繁體中文

頁數

872

ISBN

9786267273883