亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

盡善盡美之作《Python Qt GUI與數據可視化編程》

系統 2379 0

我寫的第二本書《Python Qt GUI與數據可視化編程》終于上架銷售了。

盡善盡美之作《Python Qt GUI與數據可視化編程》_第1張圖片

去年為第一本書《Qt 5.9 C++開發指南》寫的介紹文章稱其為傾心傾力之作。本書與第一本書是有些關聯的,一些內容框架和示例來自于第一本書,但是本書不是簡單地將C++的示例改寫為Python的示例,在寫這本書時發現第一本書中的一些不足,做了很多的改進。我們在寫論文或指導學生寫論文時都知道一個基本的道理:好的論文總是一遍一遍改出來的。這是我寫的第二本書,有了更多的寫書經驗,在內容和結構上更加完善,力求完美,所以稱其為盡善盡美之作。

怎樣才能算得上是盡善盡美之作呢?本人在大學里從事教學工作,看多了學生的報告和畢業論文,翻一遍基本上就能看出來哪篇是好的論文,哪篇是差的論文。好的論文結構清晰,內容充實而條理清楚,該具體的地方能詳細介紹,該粗略的地方絕不多占篇幅,格式美觀,圖文并茂,讓人看了就能看明白,看著就舒服。而差的論文則相反,論文結構不清,邏輯混亂,缺少真材實料,內容注水嚴重,格式也差。

本書就是按照我心目中好論文的標準來寫的,在章節內容選取、內容順序安排、示例設計、原理和程序講解各方面力求完美。總結一下,本書有以下幾個特點。

1. 主題明確,內容選擇緊扣主題

本書的主題是使用PyQt5進行GUI應用程序設計,以及嵌入到GUI界面的數據可視化編程。這個主題是非常實用的,因為我們經常需要將自己編寫的Python程序封裝成一個GUI程序,以便進行展示和交互式的操作。而Python自帶的tkinter雖然可以做GUI界面,但是功能比較差,Matplotlib是常用的數據可視化工具,但是一般介紹Matplotlib的書只介紹其腳本化的編程方法,將其當做類似于MATLAB中的plot繪圖工具在使用。

PyQt5是Qt5 C++類庫的Python綁定,使用PyQt5可以在Python中開發專業級的GUI程序。我們已經出版了一本《Qt 5.9 C++開發指南》,對Qt C++類庫的使用比較熟悉,所以寫這個主題也是合適的。本書圍繞這個主題設置章節內容,首先在內容選擇上追求完美。

(1)本書沒有用一章專門介紹Python編程基礎。研究GUI和數據可視化編程的讀者應該已有一定的Python編程基礎,所以本書沒有必要再介紹Python編程基礎。

(2)有些功能模塊是PyQt5和Python都有的,就只選擇在Python中設計GUI應用程序用得上的PyQt5模塊。例如,Python雖然有自帶的數據庫、多媒體、文件讀寫功能模塊,但是功能不如PyQt5的相應模塊,或不易與PyQt5的GUI程序的窗口界面結合使用,本書就介紹PyQt5的數據庫、多媒體、文件讀寫功能模塊。而Python自帶的多線程編程功能已經比較全,且不涉及用戶界面,本書就不介紹PyQt5的多線程編程功能。Python有很多功能強大的第三方網絡功能模塊,也就沒有必要介紹PyQt5的網絡編程功能了。

(3)在數據可視化部分,本書介紹了PyQtChart和PyQtDataVisualization的使用,這兩個包實際上是Qt C++類庫的一部分,熟悉Qt C++類庫的讀者可以很快上手使用。同時又考慮到Matplotlib使用的廣泛性,增加了Matplotlib嵌入到GUI界面上實現數據可視化編程的內容。

2. 章節內容安排邏輯清晰

本書的內容分為三大部分,各部分和章節分布如圖。

盡善盡美之作《Python Qt GUI與數據可視化編程》_第2張圖片

第一部分是PyQt5開發基礎,包括第1章和第2章。

第1章介紹Python、Qt、PyQt5的特點和安裝方法,在Windows 中建立開發環境。

第2章介紹使用PyQt5開發GUI應用程序的基本框架原理,包括GUI應用程序的基本結構,可視化設計UI窗體時開發GUI程序的流程和框架,信號與槽的使用方法,資源文件的使用等。掌握了第2章的內容就掌握了PyQt5開發GUI應用程序的框架性原理,再根據自己的編程需要選擇性地學習第二和第三部分的章節。

第二部分是GUI應用程序設計,從第3章至第11章。

這一部分介紹GUI應用程序設計中常用到的一些功能模塊的編程使用方法,包括常用界面組件的使用,Model/View結構,事件處理,對話框和多窗口設計,數據庫,繪圖,文件讀寫和操作,多媒體,多語言界面和Qt樣式表定制界面等。

第三部分介紹數據可視化設計方法,從第12章至第14章。

PyQtChart和PyQtDataVisualization是Qt C++類庫相應模塊的Python綁定,分別用于二維圖表和三維數據可視化設計,其內容的介紹比較全面。另外由于Matplotlib在Python數據可視化中應用廣泛,第14章專門介紹將Matplotlib嵌入到GUI界面中實現交互式數據可視化的設計方法,包括主要的技術點和一些常用二維圖和三維圖的編程使用方法。

PyQtChart、PyQtDataVisualization與Matplotlib的某些功能是重合的,但兩者各有千秋,讀者可根據自己的需要和熟悉的內容選擇學習和使用。如果讀者熟悉Qt C++類庫中的二維圖表和三維數據可視化模塊的使用,就看第12章和第13章;如果讀者熟悉Matplotlib的使用,就看第14章。

3. 內容講解言簡意賅,詳略得當

技術書籍必須言簡意賅,避免廢話連篇,同時要結合程序或圖表進行必要的講解。在內容的講解上要詳略得當,該簡略的就簡略,該深入的就深入,例如:

(1)本書在第2章介紹過窗體UI的可視化設計原理、代碼構建界面的原理后,在后續章節中就基本不再介紹窗體的可視化設計過程,更不會拿構建界面的代碼來充頁數。界面設計盡量采用可視化方法,GUI程序設計的重點應該放在類的各種接口屬性和函數的使用上,放在業務邏輯功能的實現上。

(2)對于簡單的界面組件的使用,本書不會花太多篇幅來逐一介紹,因為有些組件的常用功能很簡單,甚至是顯而易見的,例如QLabel,QPushButton等。本書第3章介紹界面組件的使用時,通常是將幾個組件放在一個示例里一起介紹,除了簡單介紹其常用方法外,還介紹一些高級方法的使用,例如QTreeWidget的節點關聯數據的使用方法。

(3)對于某些內容本書又會深入地詳細介紹。例如第14章介紹Matplotlib嵌入到GUI界面中的編程方法,本書就介紹的非常詳細,而不是像某本書上只是拿一個官方示例跑一下而已。第14章介紹了Matplotlib嵌入到GUI界面中編程的基本原理,還詳細介紹了Matplotlib繪圖的主要元素的面向對象操作方法、交互式操作方法,還設計了一個自定義繪圖組件類QmyFigureCanvas,可直接在界面可視化設計時使用,可直接應用于用戶自己的程序設計。

盡善盡美之作《Python Qt GUI與數據可視化編程》_第3張圖片

圖14-4 示例Demo14_2運行時界面。將Matplotlib的繪圖功能嵌入到GUI程序中,并且對圖的各個組成元素的面向對象編程操作進行了詳細的介紹

4. 以完整示例講解編程方法,提供兩套示例程序

本書延續《Qt 5.9 C++開發指南》一書的風格,以大量完整示例程序為基礎講解編程原理,這些示例分散在各個章節中。本人一貫認為,沒有完整示例的編程書籍就是忽悠人的。只有自己做過一遍示例程序,才可以深入地理解和掌握編程中的一些細節問題,講解也就更加有針對性。學習編程也是一樣,只是拿示例程序跑一遍、看一遍是難以完全掌握的,必須自己動手做一遍才能真正學會。

本書提供兩套示例程序。一套是具有全部源碼的程序,包括Qt項目、UI窗體、Python程序等,其中的Python程序可以直接運行,顯示示例運行結果。

另外一套是只有UI窗體的不完整程序,包括Qt項目、UI窗體、Python程序框架,其中的Python程序文件只有基本框架,沒有功能實現代碼。這套程序是為了便于讀者使用已經設計好的UI窗體,根據書中介紹的過程和內容,在Python程序框架里自己編寫程序,逐步實現功能。這樣的學習過程就具有可操作性。

以下是本書中一些示例的運行界面。

盡善盡美之作《Python Qt GUI與數據可視化編程》_第4張圖片

圖3-10 示例Demo3_7運行時界面。使用QAction設計主窗口的菜單欄、工具欄,可視化與代碼結合的界面設計方法,QPlainTextEditor文字編輯功能等

?

盡善盡美之作《Python Qt GUI與數據可視化編程》_第5張圖片

圖13-11 示例Demo13_3繪制的三維曲面圖。使用PyQtDataVisualization中的類繪制三維曲面圖

?

盡善盡美之作《Python Qt GUI與數據可視化編程》_第6張圖片

圖14-9? 示例Demo14_3運行時界面。Matplotlib繪圖工具欄的改造與交互式操作

后記

我們寫這本書只是因為發現市面上沒有這個主題的好書,覺得有必要寫一本。寫這本書沒有什么項目支持,沒有deadline要求,因而能精耕細作,仔細打磨,希望寫出一本比較完美的書。現在書已正式出版,算不算得上一本好書,就留給讀者和市場,還有時間來檢驗了。

附:三位作者簡介

  • 王維波(博主),博士,中國石油大學(華東)教師,從事測控技術與儀器專業相關的教學工作,主要研究地球物理探測儀器開發、監測數據處理方法和軟件開發。精通軟硬件開發,已出版《Qt 5.9 C++開發指南》一書。
  • 栗寶鵑,博士,某大型單位科研人員,主要從事地球物理、水下探測、遙感等專業方向的數據處理和圖像識別方面的研究工作,在日常工作中使用Qt和Python解決實際問題。
  • 張曉東,博士,中國石油大學(華東)教師,從事自動化專業相關的教學工作,研究方向主要是優化算法、最優控制和智能控制。具有豐富的算法編程經驗,善于通過Qt C++和Python結合提高算法效率。

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 视频一区在线 | 亚洲小色网 | 色视视频| 99视频九九精品视频在线观看 | 欧美日韩中文字幕在线 | 免费网站啪啪大全 | 色艺网| 99久久精品国产高清一区二区 | 农村妇女又色黄一级毛片 | jizzjiz熟丰满老妇日本 | 亚洲精品一区久久狠狠欧美 | 97碰公开在线观看免费视频 | 国内夫妇精品对白在线播放 | 亚洲视频网站在线观看 | 美女又黄又免费的视频 | 久久国产a | 国产在线短视频 | 最近中文字幕无吗免费视频 | 网曝门精品国产事件在线观看 | 久久91精品国产91久久 | 亚洲天堂h| 国产深夜福利19禁在线播放 | 69成人影院| 久久www香蕉免费人成 | 9久9久女女热精品视频免费观看 | 成人性色生活片免费看爆迷你毛片 | 久久精品无遮挡一级毛片 | 免费视频精品 | 亚洲 欧美 日韩 在线 香蕉 | 精品久久久久久综合日本 | 精品久久久久久亚洲精品 | 久久婷婷五夜综合色频 | 久久久这里只有精品加勒比 | 精品一久久香蕉国产线看播放 | 欧美成人免费mv在线播放 | 日本综合视频 | 亚洲国产一区视频 | 精品一区二区免费视频 | 成人欧美一区二区三区在线观看 | 就色干综合 | 五月天婷婷激情视频 |