-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

PyQt5快速開發與實戰

( 簡體 字)
作者:王碩,孫洋洋類別:1. -> 程式設計 -> Python
   2. -> 作業系統 -> Linux -> QT
譯者:
出版社:電子工業出版社PyQt5快速開發與實戰 3dWoo書號: 47736
詢問書籍請說出此書號!

有庫存
NT售價: 495

出版日:10/1/2017
頁數:572
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121322914
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

Python可以說是世界上最廣泛、最簡單的編程語言之一,Qt可以說是世界上最好的程序開發庫之一。Python與Qt結合的產物就是PyQt,因此,PyQt就成了Python中程序開發最棒的庫之一(當然,筆者認為它在Python程序開發中就是最棒的)。由于PyQt是Python與Qt的結合,所以它既可以利用Python強大而又簡潔的語法,又不會丟失Qt強大的功能。從Python的角度來說,凡是Python涉及的所有簡潔、易用性的語法,PyQt都可以使用;凡是Python涉及的所有開源模塊,PyQt也都可以使用。從Qt的角度來說,由于PyQt完成了對Qt的所有類的封裝,因此,從理論上說,使用Qt能開發出來的東西,使用PyQt也可以開發出來,因此,PyQt可以利用Qt強大的功能。由于充分利用了雙方的優點,所以PyQt在開發程序的過程中會帶來一些意想不到的收獲,利用Python的簡潔語法與強大而又豐富的生態圈,有些程序邏輯在Qt中實現會比較復雜,而在PyQt中卻很簡單,這才是PyQt最大的魅力之處。
近年來PyQt發展很快,從1998年最初的PyQt 0.1,到PyQt 1、PyQt 2、PyQt 3、PyQt 4以及最新的PyQt 5.9(截至2017年8月9日),并且實現了PyQt與Qt的同步更新。有一點非常遺憾的是,PyQt 5與PyQt 4并不兼容,PyQt 4的代碼無法在PyQt 5中運行。PyQt 5的誕生時間是2013年4月,至今,PyQt 5經過了快速發展,現在已經非常成熟,并且Qt開發團隊已經明確宣布從2015年開始就放棄了對Qt 4(對應PyQt 4)的支持,因此,對于想要學習PyQt的朋友來說,一開始就學習PyQt 5是一個最好的選擇。
然而,非常遺憾的是,市面上并沒有一本真正指導新手學習PyQt 5的教材,網絡上針對PyQt 5的學習案例的知識結構也都非常零碎,無法形成一個學習PyQt 5的系統化框架。因此,對于新手來說,想要快速接受PyQt 5系統性的訓練是一件非常困難的事情,筆者最初學習PyQt 5的時候也吃盡了苦頭,查閱了PyQt 5與Qt 5的大量官方文獻資料,并結合幾年的實戰應用之后,才可以說有一些水平。
編程是一個熟能生巧的活兒,目前PyQt 5的開發技術算是掌握一些了,但是如果未來不使用這項技術,那么再過幾年說不定就完全忘記PyQt 5是如何使用的了,如果是這樣的話就會給自己留下一些遺憾。考慮到現在個人還有一些額外的時間與精力,考慮到目前市面上還沒有一本關于PyQt 5使用的教材,于是本書應運而生。
寫書是一項神圣而又艱辛的工作,在本書的創作期間,為了讓本書包含更多的內容,同時又讓其變得更容易理解,我和搭檔孫洋洋查閱了大量的PyQt 5官方文獻資料,花費了很大的時間和精力在其中。本書得以順利出版,是無數個日日夜夜調試和寫作的成果。寫作本書時總會遇到一些復雜的PyQt 5技術問題,我和搭檔孫洋洋常常連續幾天熬夜討論,在每一個細節上反復推敲,每當攻克技術難點的時候,我們都感到無比快樂。我要特別感謝搭檔孫洋洋,沒有你的堅持和鼓勵,就不會寫出這么精彩的書籍,感謝你那較真的性格,謝謝你。
經過近一年的不懈付出,這本介紹PyQt 5的書終于出版了,希望這本書可以幫助更多的朋友掌握PyQt 5技術,少走些技術彎路。同時這本書能夠按時出版,我感到無比欣慰,無論近一年吃了多少苦、犧牲了多少時間都是值得的。
本書結構
本書共有11章,基本包含了筆者在使用PyQt的過程中遇到的絕大多數技術及一些經典的應用。書中有些章節是具有獨立性的,讀者可以針對自己的實際情況選擇閱讀。
第1章介紹PyQt的入門知識,講述PyQt的安裝配置,以及Eric 6這個IDE的簡單使用方法。已經有一定PyQt基礎的朋友可以略去這一章。
第2章簡單介紹Python的基本語法。本章內容針對一些沒有接觸過Python的讀者,已經有一些Python基礎的朋友可以略去這一章。
第3章介紹Qt Designer的使用方法。Qt Designer是一個PyQt的可視化界面編輯程序,它的作用是幫助用戶快速開發出界面文件,我們可以通過其他方式把界面文件轉換成Python代碼文件。對于不懂太多PyQt知識的讀者來說,本章內容可以讓你快速入門;同時,本章也是讓你的PyQt技術快速進步的最重要章節。
第4章介紹PyQt 5的基本窗口控件的使用方法。如果讀者的時間并不充裕,只對部分控件感興趣,則可以選擇相應的小節閱讀。
第5章介紹PyQt 5的高級界面控件的使用方法。如果讀者對PyQt的表格、樹、容器(多窗口控件)、多線程等感興趣,則可以選擇相應的小節閱讀。
第6章介紹PyQt 5的布局管理(在第3章中闡述Qt Designer的使用方法時已經做了介紹,當時是通過Qt Designer這個代碼生成器進行介紹的,而這里通過手工輸入代碼的方法進行介紹)。由于布局管理非常重要,值得我們用單獨一章來介紹。如果讀者對用純代碼實現布局管理器感興趣,則可以參考這一章;如果對用代碼生成器Qt Designer實現布局管理器感興趣,則可以忽略這個章節。實際上,這兩種方法并沒有本質的區別。
第7章介紹PyQt 5信號與槽的應用。信號與槽是PyQt的核心,想要掌握PyQt的高級玩法,則可以仔細閱讀這個章節。
第8章介紹PyQt 5的圖形和特效。本章內容適用于有PyQt繪圖、美化窗口需求的讀者。
第9章介紹PyQt 5的擴展應用。如果你想知道如何把Python的一些非常流行的模塊如PyInstaller、Pandas、Matplotlib、PyQtGraph、Plotly等與PyQt結合,則可以選擇性閱讀這個章節。
第10章通過幾個例子介紹PyQt 5的實戰應用。想要了解一些簡單的程序是如何開發的朋友,則可以選擇性閱讀這個章節。
第11章介紹PyQt 5在金融領域的應用,這是本書作者孫洋洋在金融公司工作期間積累的一些實戰性較高的案例,展示如何將PyQt 5應用到投資研究系統、量化投資以及金融工具開發中,讀者可以根據自己的需求選擇性閱讀。
本書附贈內容
附錄A:PyQt 5整體結構
附錄B:Python開發技巧與實踐
附錄C:Python在線學習資料
附贈內容保存在github上,網址是:https://github.com/cxinping/PyQt5,讀者可自行下載。祝讀者學習順利、事業有成。

本書讀者
本書適合具有 Python 基礎的讀者,通過本書可熟悉 Python 基礎知識并加深鞏固。本書結構合理,內容翔實,適合對Python、Qt和PyQt編程感興趣的科教人員和廣大的計算機編程愛好者閱讀,也可作為相關機構的培訓教材。
致謝
首先,我要感謝我的父親。在我上大學期間由于家庭變故,我的父親王貴誠生病去世了,這對我打擊很大。我一直很內疚,在他走之前,沒能見上他最后一面。在最后一次談話中,他要求我做一個對社會有用的人,實現自己的最大價值,盡自己的所能無私地幫助別人。如果時間可以倒流,我渴望給父親一個擁抱,對他說:“我明白,一代人做一代事”。作為其子,我愿意為您分憂。父親教會我人生的意義,讓我懂得人活著就要做有意義的事情,快樂地過每一天。我愛我的父親,我愛這個家。謝謝父親這些年的細心教導,讓我懂得生活的意義。謝謝您,我的父親。
其次,我要感謝我的叔叔王輝和嬸嬸一家,我的叔叔是我的偶像,也是我做人做事的榜樣。他教會我作為一個匠人,應該有的尊嚴和驕傲,他在我最困難的時候給予我無私的幫助,鼓勵我追尋心中的夢想。他經常跟我說,“一生之計在于勤,一天之計在于晨”,剛開始我覺得道理淺顯易懂,后來隨著年齡的增長、社會閱歷的增多,才逐漸明白,一個人只有付出不亞于任何人的努力,在自己的領域一直努力鉆研,鍥而不舍,才能成功。這個道理很淺顯易懂,當時年幼不覺得如何有用,直至今日,方才明白是至理名言。
本書的出版要特別感謝電子工業出版社的黃愛萍和葛娜,感謝她們在選題策劃和稿件整理方面做出的大量工作。
同時,在本書創作過程中,感謝編委會的全體成員,提出很多寶貴的意見。感謝編委會的邢夢來,犧牲了大量的業余時間,積極和作者討論寫書細節,校對了全部課件程序,對每個程序都做了中文注解。
感謝兄長徐楠光,教會我用感恩的心去工作,積極主動地面對困難,讓我對擁有的一切心懷感激。
感謝我的母親徐素萍,感謝我的妻子李蕾,感謝你們在我寫書的時候給我提出的建議,鼓勵我寫成此書。感謝母親多年來含辛茹苦的培養,您對我的默默支持,是我積極向上的精神動力。
感謝我的好兄弟王祥平,在本書的出版過程中提出了很多寶貴的意見。在我心力交瘁時,鼓勵我永不放棄,在科大學習期間是我一生中最快樂的日子。
感謝我的師傅張云河,您是我做人做事的榜樣。感謝您教會我寶貴的專業知識,在我最落魄的時候給予我巨大的幫助,讓我有能力去實現自己的夢想。我將繼續追隨您,為夢想而努力。
感謝潭州教育的眾位老師,IOS學院的院長Dream老師,Python學院的院長強子老師,Android學院的院長Hank老師,教會我專業的技術,使我的技術突飛猛進,還鼓勵我要為社會做出更多的貢獻,實現自己的人生價值。
感謝羅曦、張劍、陳曉楠三位同學,為本書的編寫提供了大量支持。
感謝洛基英語(Rocky English)的韓宏術老師、查理老師和劉安樂老師,使我的英語水平得到提高,讓我掌握了地道、流利、準確的英語發音,可以無障礙地閱讀英文技術文檔。給予我信心,幫助我建立人生的目標和夢想。
最后,特別感謝克亞營銷的劉克亞老師,拜讀您寫的《超高價營銷》時,經常激動得徹夜難眠,書中的每個觀點都讓我興奮不已,“一二三成功模式”更是堅定我寫本書的原因,您教導我要先無私地給予別人,幫助別人成功,然后自己才能成功,推崇共贏而不是競爭。作為您的學生受益良多,您提出的克亞營銷鐵律,教會我如何實現自我價值。在此,讓我懷著激動的心情寫出克亞營銷鐵律。
第一,你的所有營銷溝通和活動,都必須100%從對方的角度思考。
第二,為對方產生結果貢獻價值,促成對方最輕松、最快速地實現夢想,是你一切營銷的終極目標。
第三,你必須保證結果,提供零風險承諾是你的責任,更是你的義務。
第四,你永遠不會考慮說什么才能說服對方,你始終問自己,“給什么才能讓對方明白購買你的產品或服務是他唯一合理的選擇”。
第五,你永遠不會等到對方購買后,才開始對他的人生和夢想貢獻價值。
第六,你永遠不會因為對方已經購買就停止對他的人生和夢想貢獻價值。
第七,你為對方創造10倍的價值,才索取1倍的回報。
第八,有價值的教育是給予,也是貢獻。
第九,你必須讓對方能夠輕松、快速、方便地購買和使用你的產品或服務,并從中受益。
第十,你只推崇共贏,從不相信競爭,在你的書本里,當創造力熄滅的時候,才是競爭開始的時候。
第十一,你必須讓對方發自內心地感到,認識你并和你交往是幸運的,也是快樂的。
第十二,你堅信世界上最自私的行為是無私。
劉克亞老師的克亞營銷思想是PC互聯網時代強大的營銷利器,更是移動互聯網時代基本的營銷必備工具,因為它的理論根植于人性的基本規律和商業的客觀規律。當接觸克亞營銷后,我才明白如何打造出爆款產品(這里的產品指一切可以銷售的商品,軟件也屬于商品的一種)。以前我只認識到軟件開發的重要性,但接觸克亞營銷后才發現,最重要的一環是軟件銷售,只有銷售成功了,才能為企業帶來足夠的利潤,企業才有能力繼續維護和開發下一版軟件,進入良性循環中,這種軟件才可以稱得上是成功的軟件。所以,我以此書向劉克亞老師致敬,謝謝您。





輕松注冊成為博文視點社區用戶,掃碼直達本書頁面。
? 下載資源:本書所提供的示例代碼及資源文件,均可在 下載資源 處下載。
? 提交勘誤:您對書中內容的修改意見可在 提交勘誤 處提交,若被采納,將獲贈博文視點社區積分(在您購買電子書時,積分可用來抵扣相應金額)。
? 交流互動:在頁面下方 讀者評論 處留下您的疑問或觀點,與我們和其他讀者一同學習交流。
內容簡介:

本書既是介紹PyQt5的快速入門書籍,也是介紹PyQt5實戰應用的書籍。PyQt5是對Qt所有類的Python封裝,即可以利用Qt的強大功能,也可以利用Python豐富的生態,同時能夠結合Python簡潔的語法進行操作,其結果就是使用PyQt5可以高效簡單地開發出自己想要的程序。本書內容豐富,對PyQt5基礎知識的介紹比較全面,同時對新手使用PyQt5的一些重點難點都有專門的章節進行針對性分析,還重點介紹了如何把Python的一些重量級模塊(Pandas、Matplotlib和Plotly)嵌入到PyQt5中,從而極大地節約開發時間。最后,本書會給出一些綜合性較強的實戰案例,幫助讀者快速掌握PyQt5的實戰應用。總而言之,本書旨在幫助讀者以最短的時間掌握PyQt5的基礎知識并能夠實戰應用,希望本書對有Python程序開發需求的讀者有幫助。

目錄:

第1章 認識PyQt 5 1
1.1 PyQt框架簡介 1
1.1.1 PyQt 5的特點 3
1.1.2 Qt與PyQt的關系 4
1.1.3 其他圖形界面開發庫介紹 4
1.1.4 PyQt 4/PyQt 5 6
1.1.5 Python 2/Python 3 6
1.2 PyQt 5環境搭建 7
1.2.1 在Windows下搭建PyQt 5環境 7
1.2.2 在Mac OS下搭建PyQt 5環境 15
1.2.3 PyQt 5的安裝測試 20
1.2.4 安裝其他Python模塊 22
1.2.5 使用PyQt 5的API文檔 23
1.3 Eric 6的安裝與使用 25
1.3.1 Eric 6的安裝及漢化 26
1.3.2 Eric 6的相關配置 29
1.3.3 安裝自動補全插件jedi 33
1.3.4 測試Eric 6 35
1.3.5 Eric 6的基本使用 35
1.4 本書程序下載 39
第2章 Python基本語法 41
2.1 Python簡介 41
2.2 數據類型 43
案例2-1 基本運算 43
2.3 String(字符串) 45
案例2-2 字符串入門 45
案例2-3 字符串常用方法 46
2.4 List(列表) 47
案例2-4 列表操作 48
2.5 Tuple(元組) 49
案例2-5 元組操作 49
2.6 Dictionary(字典) 50
案例2-6 字典操作 50
2.7 數據類型轉換 52
2.8 控制語句 53
案例2-7 控制語句 53
2.9 自定義函數 54
案例2-8 函數定義 55
2.10 函數partial 55
案例2-9 partial函數的使用 56
2.11 lambda表達式 57
案例2-10 lambda表達式操作 57
2.12 類和實例 58
案例2-11 類和實例的使用 58
2.13 類的屬性和方法 59
案例2-12 類的屬性和方法的使用 59
2.14 類的動態屬性 61
案例2-13 類的動態屬性操作 61
第3章 Qt Designer的使用 64
3.1 Qt Designer快速入門 64
3.1.1 新建主窗口 65
3.1.2 窗口主要區域介紹 66
3.1.3 查看UI文件 68
3.1.4 將.ui文件轉換為.py文件 70
3.1.5 界面與邏輯分離 74
3.2 布局管理入門 75
3.2.1 使用布局管理器布局 76
3.2.2 使用容器進行布局 79
3.3 Qt Designer 實戰應用 81
3.3.1 絕對布局 81
3.3.2 使用布局管理器布局 83
3.3.3 其他需要注意的內容 91
3.3.4 測試程序 94
3.4 信號和槽關聯 96
3.4.1 簡單入門 97
3.4.2 快速進階 101
3.5 菜單欄與工具欄 106
3.5.1 界面設計 106
3.5.2 效果測試 110
3.5.3 應用:加載其他窗口 112
3.6 打包資源文件 115
3.6.1 使用Qt Designer加載資源文件 115
3.6.2 在窗體中使用資源文件 116
3.6.3 轉換資源文件 118
3.6.4 導入.py資源文件 119
第4章 PyQt 5基本窗口控件 122
4.1 QMainWindow 122
4.1.1 窗口類型介紹 122
4.1.2 創建主窗口 123
案例4-1 創建主窗口 124
4.1.3 將主窗口放在屏幕中間 125
案例4-2 主窗口居中顯示 125
4.1.4 關閉主窗口 127
案例4-3 關閉主窗口 127
4.2 QWidget 128
4.2.1 窗口坐標系統 129
4.2.2 常用的幾何機構 130
案例4-4 屏幕坐標系統顯示 131
4.2.3 創建第一個PyQt 5應用 133
案例4-5 建立一個主窗口 133
4.2.4 為應用設置程序圖標 136
案例4-6 設置程序圖標 136
4.2.5 顯示氣泡提示信息 137
4.3 QLabel 138
案例4-7 顯示QLabel標簽 140
案例4-8 QLabel標簽快捷鍵的使用 142
4.4 文本框類控件 143
4.4.1 QLineEdit 143
案例4-9 EchoMode的顯示效果 146
案例4-10 驗證器 147
案例4-11 輸入掩碼 149
案例4-12 綜合示例 150
4.4.2 QTextEdit 152
案例4-13 QTextEdit的使用 152
4.5 按鈕類控件 154
4.5.1 QAbstractButton 154
4.5.2 QPushButton 154
案例4-14 QPushButton按鈕的使用 155
4.5.3 QRadioButton 158
案例4-15 QRadioButton按鈕的使用 158
4.5.4 QCheckBox 160
案例4-16 QCheckBox按鈕的使用 161
4.6 QComboBox(下拉列表框) 164
案例4-17 QComboBox按鈕的使用 164
4.7 QSpinBox(計數器) 166
案例4-18 QSpinBox的使用 167
4.8 QSlider(滑動條) 168
案例4-19 QSlider的使用 169
4.9 對話框類控件 171
4.9.1 QDialog 171
案例4-20 QDialog的使用 171
4.9.2 QMessageBox 173
案例4-21 QMessageBox的使用 175
4.9.3 QInputDialog 176
案例4-22 QInputDialog的使用 176
4.9.4 QFontDialog 178
案例4-23 QFontDialog的使用 178
4.9.5 QFileDialog 180
案例4-24 QFileDialog的使用 181
4.10 窗口繪圖類控件 184
4.10.1 QPainter 184
案例4-25 繪制文字 185
案例4-26 繪制點 187
4.10.2 QPen 189
案例4-27 QPen的使用 189
4.10.3 QBrush 191
案例4-28 QBrush 的使用 192
4.10.4 QPixmap 194
案例4-29 QPixmap的使用 194
4.11 拖曳與剪貼板 195
4.11.1 Drag與Drop 195
案例4-30 拖曳功能 197
4.11.2 QClipboard 198
案例4-31 QClipboard的使用 199
4.12 日歷與時間 202
案例4-32 QCalendar的使用 202
案例4-33 QDateTimeEdit的使用 209
4.13 菜單欄、工具欄與狀態欄 212
4.13.1 菜單欄 212
案例4-34 QMenuBar的使用 212
4.13.2 QToolBar 214
案例4-35 QToolBar的使用 215
4.13.3 QStatusBar 216
案例4-36 QStatusBar的使用 217
4.14 QPrinter 218
案例4-37 QPrinter的使用 218
第5章 PyQt 5高級界面控件 221
5.1 表格與樹 221
5.1.1 QTableView 221
案例5-1 QTableView的使用 222
5.1.2 QListView 224
案例5-2 QListView的使用 225
5.1.3 QListWidget 226
案例5-3 QListWidget的使用 226
5.1.4 QTableWidget 227
5.1.5 QTreeView 245
5.2 容器:裝載更多的控件 251
5.2.1 QTabWidget 251
案例5-4 QTabWidget的使用 252
5.2.2 QStackedWidget 254
案例5-5 QStackedWidget的使用 254
5.2.3 QDockWidget 256
案例5-6 QDockWidget的使用 257
5.2.4 多文檔界面 259
案例5-7 多重文檔界面 260
5.2.5 QScrollBar 262
案例5-8 QScrollBar 262
5.3 多線程 264
5.3.1 QTimer 264
5.3.2 QThread 268
案例5-9 應用案例:分離UI主線程與工作線程 274
5.3.3 事件處理 276
5.4 網頁交互 278
案例5-10 加載并顯示外部的Web頁面 278
案例5-11 加載并顯示本地的Web頁面 280
案例5-12 加載并顯示嵌入的HTML代碼 281
案例5-13 PyQt調用JavaScript代碼 283
案例5-14 JavaScript調用PyQt代碼 286
第6章 PyQt 5布局管理 294
6.1 好軟件的三個維度 294
6.2 PyQt 5中的布局管理 295
6.3 PyQt 5的絕對位置布局 296
6.4 QBoxLayout(框布局) 298
6.4.1 QHBoxLayout(水平布局) 298
6.4.2 QVBoxLayout(垂直布局) 300
6.4.3 addStretch()函數的使用 301
6.5 QGridLayout(網格布局) 303
6.5.1 單一的網格單元格 304
6.5.2 跨越行和列的網格單元格 306
6.6 QFormLayout(表單布局) 308
6.7 嵌套布局 309
6.7.1 在布局中添加其他布局 309
6.7.2 在控件中添加布局 311
6.8 QSplitter 314
第7章 PyQt 5信號與槽 317
7.1 信號與槽介紹 317
7.1.1 定義信號 318
7.1.2 操作信號 319
7.1.3 信號與槽的入門應用 320
7.1.4 快速進階 324
7.2 信號與槽再細分 324
7.2.1 內置信號和槽函數 324
7.2.2 內置信號和自定義槽函數 325
7.2.3 自定義信號和內置槽函數 326
7.2.4 自定義信號和槽函數 327
7.3 信號與槽的高級玩法 328
7.3.1 高級自定義信號與槽 328
7.3.2 使用自定義參數 333
7.3.3 裝飾器信號與槽 335
7.3.4 信號與槽的斷開和連接 337
7.3.5 Qt Designer神助攻:界面顯示與業務邏輯的分離 339
7.3.6 多線程中信號與槽的使用 345
7.4 事件處理機制入門 348
7.4.1 事件和信號與槽的區別 348
7.4.2 常見事件類型 348
7.4.3 使用事件處理的方法 349
7.4.4 經典案例分析 349
7.5 窗口數據傳遞 362
7.5.1 單一窗口數據傳遞 363
7.5.2 多窗口數據傳遞:調用屬性 364
7.5.3 多窗口數據傳遞:信號與槽 368
第8章 PyQt 5圖形和特效 373
8.1 窗口風格 373
8.1.1 設置窗口風格 373
案例8-1 設置窗口風格 374
8.1.2 設置窗口樣式 375
8.1.3 使用自定義的無邊框窗口 376
8.2 繪圖 378
8.2.1 圖像類 378
8.2.2 簡單繪圖 379
8.2.3 雙緩沖繪圖 381
案例8-2 繪制矩形,出現重影 382
案例8-3 使用雙緩沖技術繪制矩形,避免出現重影 384
8.3 QSS的UI美化 387
8.3.1 QSS的語法規則 387
8.3.2 QSS選擇器類型 389
8.3.3 QSS子控件 390
8.3.4 QSS偽狀態 391
8.3.5 QDarkStyleSheet 392
8.4 設置窗口背景 395
8.4.1 使用QSS設置窗口背景 395
8.4.2 使用QPalette設置窗口背景 396
8.4.3 使用paintEvent設置窗口背景 398
8.5 不規則窗口的顯示 400
8.5.1 不規則窗口實現動畫效果 404
8.5.2 加載GIF動畫效果 406
8.6 設置樣式 407
8.6.1 為標簽添加背景圖片 407
8.6.2 為按鈕添加背景圖片 407
8.6.3 縮放圖片 409
8.6.4 設置窗口透明 409
8.6.5 加載QSS 410
第9章 PyQt 5擴展應用 412
9.1 使用PyInstaller打包項目生成EXE文件 412
9.2 數據庫處理 417
9.2.1 SQLite介紹 417
9.2.2 連接數據庫 421
9.2.3 執行SQL語句 422
9.2.4 數據庫模型視圖 425
9.2.5 封裝分頁查詢控件 428
9.3 Pandas在PyQt中的應用 435
9.3.1 qtpandas的安裝 435
9.3.2 官方示例解讀 436
9.3.3 設置提升的窗口控件 440
9.3.4 qtpandas的使用 442
9.4 Matplotlib在PyQt中的應用 445
9.4.1 對MatplotlibWidget的解讀 445
9.4.2 設置提升的窗口控件 448
9.4.3 MatplotlibWidget的使用 449
9.4.4 更多擴展 451
9.5 PyQtGraph在PyQt中的應用 451
9.5.1 PyQtGraph的安裝 452
9.5.2 官方示例解讀 452
9.5.3 設置提升的窗口控件 453
9.5.4 PyQtGraph的使用 454
9.5.5 更多擴展 457
9.6 Plotly在PyQt中的應用 457
9.6.1 Plotly的安裝 458
9.6.2 示例解讀 458
9.6.3 設置提升的窗口控件 460
9.6.4 Plotly_PyQt5的使用 461
9.6.5 更多擴展 464
9.6.6 Plotly與PyQt 5.6的結合 465
9.6.7 更多擴展 468
9.7 UI層的自動化測試 468
9.7.1 手工測試與自動化測試 469
9.7.2 模擬雞尾酒的調酒器窗口 470
9.7.2 將界面文件轉換為Python文件 473
9.7.3 單元測試程序 475
9.7.4 運行測試用例 485
9.7.5 生成測試報告 486
第10章 PyQt 5實戰一:經典程序開發 489
10.1 獲取城市天氣預報 489
10.1.1 獲取天氣數據 489
10.1.2 獲取不同城市的天氣預報API 490
10.1.3 界面實現 492
10.1.4 將界面文件轉換為.py文件 493
10.1.5 調用主窗口類 495
10.2 復利計算 496
10.2.1 復利計算業務 496
10.2.2 界面實現 497
10.3 刷新博客點擊量 499
第11章 PyQt 5實戰二:金融領域應用 502
11.1 控件級別的布局管理 502
11.2 窗口級別的布局管理 505
11.3 PyQt 5在私募基金公司中的應用 506
11.3.1 顯示產品基本信息 506
11.3.2 展示產品組合信息 512
11.4 PyQt 5在量化投資中的應用 516
11.5 PyQt 5在券商中的應用 522
11.5.1 從爬蟲說起 523
11.5.2 程序解讀 525
參考文獻 550
序: