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

盡善盡美之作《Python Qt GUI與數(shù)據(jù)可視化編程》

系統(tǒng) 2574 0

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

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

去年為第一本書《Qt 5.9 C++開發(fā)指南》寫的介紹文章稱其為傾心傾力之作。本書與第一本書是有些關(guān)聯(lián)的,一些內(nèi)容框架和示例來(lái)自于第一本書,但是本書不是簡(jiǎn)單地將C++的示例改寫為Python的示例,在寫這本書時(shí)發(fā)現(xiàn)第一本書中的一些不足,做了很多的改進(jìn)。我們?cè)趯懻撐幕蛑笇?dǎo)學(xué)生寫論文時(shí)都知道一個(gè)基本的道理:好的論文總是一遍一遍改出來(lái)的。這是我寫的第二本書,有了更多的寫書經(jīng)驗(yàn),在內(nèi)容和結(jié)構(gòu)上更加完善,力求完美,所以稱其為盡善盡美之作。

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

本書就是按照我心目中好論文的標(biāo)準(zhǔn)來(lái)寫的,在章節(jié)內(nèi)容選取、內(nèi)容順序安排、示例設(shè)計(jì)、原理和程序講解各方面力求完美。總結(jié)一下,本書有以下幾個(gè)特點(diǎn)。

1. 主題明確,內(nèi)容選擇緊扣主題

本書的主題是使用PyQt5進(jìn)行GUI應(yīng)用程序設(shè)計(jì),以及嵌入到GUI界面的數(shù)據(jù)可視化編程。這個(gè)主題是非常實(shí)用的,因?yàn)槲覀兘?jīng)常需要將自己編寫的Python程序封裝成一個(gè)GUI程序,以便進(jìn)行展示和交互式的操作。而Python自帶的tkinter雖然可以做GUI界面,但是功能比較差,Matplotlib是常用的數(shù)據(jù)可視化工具,但是一般介紹Matplotlib的書只介紹其腳本化的編程方法,將其當(dāng)做類似于MATLAB中的plot繪圖工具在使用。

PyQt5是Qt5 C++類庫(kù)的Python綁定,使用PyQt5可以在Python中開發(fā)專業(yè)級(jí)的GUI程序。我們已經(jīng)出版了一本《Qt 5.9 C++開發(fā)指南》,對(duì)Qt C++類庫(kù)的使用比較熟悉,所以寫這個(gè)主題也是合適的。本書圍繞這個(gè)主題設(shè)置章節(jié)內(nèi)容,首先在內(nèi)容選擇上追求完美。

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

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

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

2. 章節(jié)內(nèi)容安排邏輯清晰

本書的內(nèi)容分為三大部分,各部分和章節(jié)分布如圖。

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

第一部分是PyQt5開發(fā)基礎(chǔ),包括第1章和第2章。

第1章介紹Python、Qt、PyQt5的特點(diǎn)和安裝方法,在Windows 中建立開發(fā)環(huán)境。

第2章介紹使用PyQt5開發(fā)GUI應(yīng)用程序的基本框架原理,包括GUI應(yīng)用程序的基本結(jié)構(gòu),可視化設(shè)計(jì)UI窗體時(shí)開發(fā)GUI程序的流程和框架,信號(hào)與槽的使用方法,資源文件的使用等。掌握了第2章的內(nèi)容就掌握了PyQt5開發(fā)GUI應(yīng)用程序的框架性原理,再根據(jù)自己的編程需要選擇性地學(xué)習(xí)第二和第三部分的章節(jié)。

第二部分是GUI應(yīng)用程序設(shè)計(jì),從第3章至第11章。

這一部分介紹GUI應(yīng)用程序設(shè)計(jì)中常用到的一些功能模塊的編程使用方法,包括常用界面組件的使用,Model/View結(jié)構(gòu),事件處理,對(duì)話框和多窗口設(shè)計(jì),數(shù)據(jù)庫(kù),繪圖,文件讀寫和操作,多媒體,多語(yǔ)言界面和Qt樣式表定制界面等。

第三部分介紹數(shù)據(jù)可視化設(shè)計(jì)方法,從第12章至第14章。

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

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

3. 內(nèi)容講解言簡(jiǎn)意賅,詳略得當(dāng)

技術(shù)書籍必須言簡(jiǎn)意賅,避免廢話連篇,同時(shí)要結(jié)合程序或圖表進(jìn)行必要的講解。在內(nèi)容的講解上要詳略得當(dāng),該簡(jiǎn)略的就簡(jiǎn)略,該深入的就深入,例如:

(1)本書在第2章介紹過(guò)窗體UI的可視化設(shè)計(jì)原理、代碼構(gòu)建界面的原理后,在后續(xù)章節(jié)中就基本不再介紹窗體的可視化設(shè)計(jì)過(guò)程,更不會(huì)拿構(gòu)建界面的代碼來(lái)充頁(yè)數(shù)。界面設(shè)計(jì)盡量采用可視化方法,GUI程序設(shè)計(jì)的重點(diǎn)應(yīng)該放在類的各種接口屬性和函數(shù)的使用上,放在業(yè)務(wù)邏輯功能的實(shí)現(xiàn)上。

(2)對(duì)于簡(jiǎn)單的界面組件的使用,本書不會(huì)花太多篇幅來(lái)逐一介紹,因?yàn)橛行┙M件的常用功能很簡(jiǎn)單,甚至是顯而易見的,例如QLabel,QPushButton等。本書第3章介紹界面組件的使用時(shí),通常是將幾個(gè)組件放在一個(gè)示例里一起介紹,除了簡(jiǎn)單介紹其常用方法外,還介紹一些高級(jí)方法的使用,例如QTreeWidget的節(jié)點(diǎn)關(guān)聯(lián)數(shù)據(jù)的使用方法。

(3)對(duì)于某些內(nèi)容本書又會(huì)深入地詳細(xì)介紹。例如第14章介紹Matplotlib嵌入到GUI界面中的編程方法,本書就介紹的非常詳細(xì),而不是像某本書上只是拿一個(gè)官方示例跑一下而已。第14章介紹了Matplotlib嵌入到GUI界面中編程的基本原理,還詳細(xì)介紹了Matplotlib繪圖的主要元素的面向?qū)ο蟛僮鞣椒ā⒔换ナ讲僮鞣椒ǎ€設(shè)計(jì)了一個(gè)自定義繪圖組件類QmyFigureCanvas,可直接在界面可視化設(shè)計(jì)時(shí)使用,可直接應(yīng)用于用戶自己的程序設(shè)計(jì)。

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

圖14-4 示例Demo14_2運(yùn)行時(shí)界面。將Matplotlib的繪圖功能嵌入到GUI程序中,并且對(duì)圖的各個(gè)組成元素的面向?qū)ο缶幊滩僮鬟M(jìn)行了詳細(xì)的介紹

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

本書延續(xù)《Qt 5.9 C++開發(fā)指南》一書的風(fēng)格,以大量完整示例程序?yàn)榛A(chǔ)講解編程原理,這些示例分散在各個(gè)章節(jié)中。本人一貫認(rèn)為,沒有完整示例的編程書籍就是忽悠人的。只有自己做過(guò)一遍示例程序,才可以深入地理解和掌握編程中的一些細(xì)節(jié)問(wèn)題,講解也就更加有針對(duì)性。學(xué)習(xí)編程也是一樣,只是拿示例程序跑一遍、看一遍是難以完全掌握的,必須自己動(dòng)手做一遍才能真正學(xué)會(huì)。

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

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

以下是本書中一些示例的運(yùn)行界面。

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

圖3-10 示例Demo3_7運(yùn)行時(shí)界面。使用QAction設(shè)計(jì)主窗口的菜單欄、工具欄,可視化與代碼結(jié)合的界面設(shè)計(jì)方法,QPlainTextEditor文字編輯功能等

?

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

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

?

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

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

后記

我們寫這本書只是因?yàn)榘l(fā)現(xiàn)市面上沒有這個(gè)主題的好書,覺得有必要寫一本。寫這本書沒有什么項(xiàng)目支持,沒有deadline要求,因而能精耕細(xì)作,仔細(xì)打磨,希望寫出一本比較完美的書。現(xiàn)在書已正式出版,算不算得上一本好書,就留給讀者和市場(chǎng),還有時(shí)間來(lái)檢驗(yàn)了。

附:三位作者簡(jiǎn)介

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

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

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

【本文對(duì)您有幫助就好】

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

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 色视频网站在线观看 | 99久久精品免费 | 国产激情视频趣趣在线观看的 | 国产xx肥老妇视频奂费 | 国产日韩欧美自拍 | 精品国产一区二区三区四区不 | 日韩小视频在线播放 | 亚洲欧洲在线观看 | 91亚洲精品久久91 | 欧美性猛交ⅹxxx乱大交免费 | 亚洲精品日本高清中文字幕 | 一级毛片日本特黄97人人 | 亚洲激情在线看 | 亚洲精品在线网 | 久久国产精品-久久精品 | 亚洲免费中文 | 欧美精品成人一区二区在线观看 | 国产精品一区二区不卡 | 精品国精品国产自在久国产应用 | 日本中文字幕永久在线 | 久9热精品视频在线观看 | 亚洲精品久久久久久中文字幕小说 | 欧美特级毛片aaaa | 亚洲欧美日韩不卡一区二区三区 | 在线观看色视频 | 国产一级在线视频 | 午夜精品在线免费观看 | 99久久精品免费看国产交换 | 国产精品久久久久久久小唯西川 | 亚洲精品第一区二区在线 | 中文字幕亚洲色图 | 久久99亚洲精品久久久久 | 久青草视频 | 精品欧美一区二区三区在线 | 日本在线不卡免费 | 免费看成人频视在线视频 | 成年人午夜影院 | 亚洲精品一区henhen色 | 91精品国产免费 | 久久福利资源站免费观看i 久久高清 | 国产一区二区免费播放 |