PyQt 編程快速上手
任路順
買這商品的人也買了...
-
流暢的 Python|清晰、簡潔、有效的程式設計 (Fluent Python)$980$774 -
$301Python 數據可視化之 matplotlib 實踐 -
Python 資料分析, 2/e (Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython, 2/e)$880$695 -
精通 OpenCV 3 (Mastering OpenCV 3, 2/e)$500$390 -
$352Python 數據可視化之 matplotlib 精進 -
重構|改善既有程式的設計, 2/e (繁中平裝版)(Refactoring: Improving The Design of Existing Code, 2/e)$800$600 -
Pandas 資料分析實戰:使用 Python 進行高效能資料處理及分析 (Learning pandas : High-performance data manipulation and analysis in Python, 2/e)$580$452 -
C Traps and Pitfalls (中文版)$380$296 -
Halcon 機器視覺算法原理與編程實戰$534$507 -
增壓的 Python|讓程式碼進化到全新境界 (Supercharged Python: Take Your Code to the Next Level)$680$537 -
$347Python 數據可視化之 Matplotlib 與 Pyecharts -
Python 資料可視化之美:極專業圖表製作高手書 (書況差限門市銷售)$780$399 -
絕對硬派:Windows 核心首度公開 C++解析$1,200$948 -
$374程序員數學從零開始 -
資料密集型應用系統設計 (Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems)$980$774 -
$517學習 OpenCV 4:基於 Python 的算法實戰 -
matplotlib 2D 到 3D 資料視覺化王者歸來 (全彩印刷)$790$624 -
Python 玩轉數學問題 — 輕松學習 NumPy、SciPy 和 Matplotlib$600$570 -
Python:股票 × ETF 量化交易回測 102個活用技巧$600$468 -
物聯網安全漏洞挖掘實戰$359$341 -
Qt for Python PySide6 GUI 界面開發詳解與實例$708$673 -
Qt 6 C++ 開發指南$839$797 -
真槍實彈做專案:PyQt 極速開發視窗軟體, 2/e$880$695 -
Python ✕ ChatGPT ✕ Excel 高效率打造辦公室作業 + 數據分析自動化$699$552 -
一本精通 - PyQt5 & PyQt6 軟體介面開發$890$703
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
85折
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$544 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
PyQt是一個創建GUI應用程序的工具包,是Python編程語言和Qt庫的成功融合。本書旨在通過深入淺出的講解和簡明的程序示例教讀者掌握PyQt的開發技巧。
本書分為10章,從PyQt的安裝和基礎知識講起,陸續介紹了基礎控件(如標簽控件、消息框、文本框、按鈕及控件等)、高級控件(如組合框、滾動條、容器控件及各類視圖等)、窗口(如屬性、坐標、事件等)、Qt Designer(如安裝與配置、編輯模式等)、PyQt高級應用(如數據庫、多線程、動畫、音視頻、網頁交互等)、圖形視圖框架(如圖元、場景、視圖、事件傳遞等)、打包(如PyInstaller、Nuitka等)等內容。此外,本書還通過兩個開發實例(可視化爬蟲軟件和《經典貪吃蛇》遊戲)帶領讀者鞏固了書中介紹的相關知識點。
本書內容簡潔實用、實操性強,適合對Python編程及GUI開發感興趣的讀者閱讀。
作者簡介
任路順,一名熱愛代碼的開源開發者,也是開源軟件 Qt Box 的作者。他擁有多年Python/C++ 開發經驗,專註於軟件開發,也喜歡研究爬蟲、機器學習等技術,業餘時間喜歡開發一些小遊戲。他在CSDN和知乎平臺上發布的《快速掌握 PyQt5》《樹莓派項目實戰》《PyInstaller 打包實戰指南》等專欄受到讀者的廣泛好評。
目錄大綱
第 1章 PyQt基礎知識 1
1.1 安裝PyQt 1
1.1.1 在不同系統上安裝 1
1.1.2 驗證安裝是否成功 3
1.2 設計一個簡單的PyQt窗口 3
1.2.1 程序入口 3
1.2.2 在PyQt程序中嵌入HTML代碼 4
1.2.3 在類中創建窗口 5
1.3 佈局管理 6
1.3.1 使用move()方法佈局 7
1.3.2 垂直佈局管理器QVBoxLayout 8
1.3.3 水平佈局管理器QHBoxLayout 9
1.3.4 表單佈局管理器QFormLayout 10
1.3.5 網格佈局管理器QGridLayout 11
1.3.6 佈局嵌套 12
1.4 信號和槽 13
1.4.1 理解信號和槽機制 13
1.4.2 一個信號連接一個槽 14
1.4.3 一個信號連接多個槽 17
1.4.4 多個信號連接一個槽 18
1.4.5 信號與信號連接 19
1.4.6 自定義信號 20
1.5 學會使用文檔 22
1.5.1 理解文檔上的C++代碼 22
1.5.2 如何使用文檔 23
1.6 本章小結 25
第 2章 PyQt的基礎控件 26
2.1 標簽控件QLabel 26
2.1.1 顯示文本 26
2.1.2 顯示圖片 27
2.1.3 顯示動圖 28
2.2 消息框控件QMessageBox 30
2.2.1 各種類型的消息框 30
2.2.2 與消息框交互 32
2.2.3 編寫帶中文按鈕的消息框 33
2.3 文本框控件 34
2.3.1 單行文本框控件QLineEdit 34
2.3.2 文本編輯框控件QTextEdit 36
2.3.3 文本瀏覽框控件QTextBrowser 38
2.4 各種按鈕控件 39
2.4.1 普通按鈕控件QPushButton 39
2.4.2 工具按鈕控件QToolButton 40
2.4.3 單選框按鈕控件QRadioButton 41
2.4.4 復選框按鈕控件QCheckBox 42
2.4.5 下拉框按鈕控件QComboBox 43
2.5 與數字相關的控件 45
2.5.1 液晶數字控件QLCDNumber 45
2.5.2 數字調節框控件QSpinBox和QDoubleSpinBox 46
2.5.3 滑動條控件QSlider 47
2.5.4 儀表盤控件QDial 48
2.6 與日期相關的控件 49
2.6.1 日歷控件QCalendarWidget 49
2.6.2 日期時間控件QDateTimeEdit 51
2.7 定時器控件和進度條控件 53
2.7.1 定時器控件QTimer 53
2.7.2 進度條控件QProgressBar 54
2.8 本章小結 55
第3章 PyQt的高級控件 56
3.1 組合框控件和工具箱控件 56
3.1.1 分組框控件QGroupBox 56
3.1.2 工具箱控件QToolBox 57
3.2 滾動區域控件和滾動條控件 59
3.2.1 滾動區域控件QScrollArea 59
3.2.2 滾動條控件QScrollBar 61
3.3 更多容器控件 63
3.3.1 拆分窗口控件QSplitter 63
3.3.2 標簽頁控件QTabWidget 64
3.3.3 堆棧控件QStackedWidget 66
3.3.4 多文檔區域控件QMdiArea 67
3.4 列表視圖控件、樹形視圖控件、表格視圖控件 69
3.4.1 列表視圖控件QListView 70
3.4.2 樹形視圖控件QTreeView 72
3.4.3 表格視圖控件QTableView 73
3.5 簡化版的列表、樹形、表格視圖控件 75
3.5.1 簡化版列表視圖控件QListWidget 75
3.5.2 簡化版樹形視圖控件QTreeWidget 76
3.5.3 簡化版表格視圖控件QTableWidget 78
3.6 各種對話框控件 79
3.6.1 顏色對話框控件QColorDialog 79
3.6.2 字體對話框控件QFontDialog 81
3.6.3 輸入對話框控件QInputDialog 82
3.6.4 文件對話框控件QFileDialog 84
3.7 本章小結 86
第4章 深入窗口 87
4.1 窗口屬性 87
4.1.1 窗口標題和圖標 88
4.1.2 窗口大小和位置 88
4.1.3 其他窗口屬性 91
4.2 窗口坐標 93
4.2.1 理解坐標體系 93
4.2.2 窗口的組成部分 94
4.3 窗口事件 95
4.3.1 窗口關閉事件 95
4.3.2 窗口大小調整事件 96
4.3.3 鍵盤事件 97
4.3.4 鼠標事件 98
4.3.5 拖放事件 100
4.3.6 繪制事件 102
4.4 主窗口類QMainWindow 103
4.4.1 主窗口的組成部分 103
4.4.2 停靠窗口類QDockWidget 105
4.4.3 菜單欄類QMenuBar 107
4.4.4 工具欄類QToolBar 108
4.4.5 狀態欄類QStatusBar 110
4.4.6 程序啟動畫面類QSplashScreen 112
4.5 本章小結 113
第5章 Qt Designer 114
5.1 安裝與配置 114
5.1.1 在Windows系統上安裝 114
5.1.2 在macOS系統上安裝 115
5.1.3 在Ubuntu系統上安裝 115
5.1.4 在PyCharm中配置設計師 116
5.2 瞭解設計師窗口中的各個部分 117
5.2.1 控件箱 118
5.2.2 對象查看器 118
5.2.3 屬性編輯器 119
5.2.4 菜單欄和工具欄 119
5.3 4種編輯模式 121
5.3.1 佈局模式 121
5.3.2 編輯信號和槽模式 123
5.3.3 編輯夥伴關系模式 125
5.3.4 編輯Tab順序模式 126
5.4 登錄框開發實戰 127
5.4.1 編輯屬性 127
5.4.2 佈局控件 129
5.4.3 將.ui文件轉換成.py文件 130
5.4.4 編寫功能邏輯代碼 130
5.5 本章小結 131
第6章 PyQt高級應用 132
6.1 數據庫 132
6.1.1 數據庫連接和關閉 133
6.1.2 執行SQL語句 134
6.1.3 數據庫模型 136
6.2 多線程 139
6.2.1 使用QThread線程類 140
6.2.2 在線程中獲取窗口數據信息 143
6.2.3 編寫一個簡單的爬蟲程序 144
6.3 繪圖與打印 146
6.3.1 畫筆類QPen 146
6.3.2 畫刷類QBrush 149
6.3.3 用鼠標在窗口上繪制矩形 150
6.3.4 打印 153
6.4 動畫 155
6.4.1 屬性動畫類QPropertyAnimation 155
6.4.2 串行動畫組類QSequentialAnimationGroup 158
6.4.3 並行動畫組類QParallelAnimationGroup 160
6.4.4 時間軸類QTimeLine 162
6.5 音頻和視頻 164
6.5.1 聲音類QSound 164
6.5.2 音效類QSoundEffect 165
6.5.3 媒體播放機類QMediaPlayer 166
6.6 網頁交互 170
6.6.1 瞭解QWebEngineView 170
6.6.2 製作一款簡單的瀏覽器 172
6.7 網絡應用 175
6.7.1 QUdpSocket 175
6.7.2 QTcpSocket和QTcpServer 180
6.8 QSS 183
6.8.1 安裝QSS高亮插件 185
6.8.2 基本規則 185
6.8.3 選擇器的類型 187
6.8.4 子控制器 189
6.8.5 偽狀態 190
6.8.6 QSS第三方庫 191
6.9 國際化 193
6.9.1 使用translate()方法 193
6.9.2 製作.ts文件 194
6.9.3 使用Qt Linguist 196
6.9.4 實現語言切換功能 198
6.10 本章小結 199
第7章 圖形視圖框架 200
7.1 圖形圖元類QGraphicsItem 200
7.1.1 標準圖元 200
7.1.2 圖元層級 203
7.1.3 圖元變換 205
7.1.4 圖元分組 206
7.1.5 碰撞檢測 208
7.1.6 給圖元添加信號和動畫 209
7.2 圖形場景類QGraphicsScene 211
7.2.1 管理圖元 211
7.2.2 嵌入控件 212
7.3 圖形視圖類QGraphicsView 214
7.3.1 視圖和場景的大小關系 215
7.3.2 視圖變換 216
7.4 事件傳遞與坐標轉換 217
7.4.1 事件傳遞順序 217
7.4.2 坐標轉換 219
7.5 本章小結 221
第8章 打包 222
8.1 PyInstaller 222
8.1.1 環境配置 222
8.1.2 兩種打包模式 223
8.1.3 黑框的調試作用 225
8.1.4 給可執行文件加上圖標 226
8.1.5 打包資源文件 226
8.1.6 減小打包後的文件大小 228
8.1.7 其他常用的命令 230
8.1.8 用PyInstaller打包用PyQt開發的程序 232
8.2 Nuitka 234
8.2.1 環境配置 234
8.2.2 兩種打包模式 237
8.2.3 給可執行文件加上圖標 239
8.2.4 打包資源文件 240
8.2.5 啟用插件 242
8.2.6 減小打包文件的大小 243
8.2.7 其他常用的命令 244
8.2.8 用Nuitka打包用PyQt開發的程序 246
8.3 本章小結 247
第9章 開發可視化爬蟲軟件 248
9.1 實現爬蟲功能 249
9.1.1 分析目標網站 249
9.1.2 編寫爬蟲代碼 250
9.2 將爬蟲與界面結合 252
9.2.1 完成界面佈局 252
9.2.2 編寫爬蟲線程 254
9.2.3 在界面上顯示爬取數據和日誌 257
9.2.4 實現保存功能 259
9.3 音效與美化 262
9.3.1 添加音效 262
9.3.2 美化界面 263
9.4 打包 264
9.4.1 用PyInstaller打包 264
9.4.2 用Nuitka打包 265
9.5 本章小結 266
第 10章 開發《經典貪吃蛇》遊戲 267
10.1 編寫遊戲場景 268
10.1.1 繪制背景和貪吃蛇圖標 269
10.1.2 繪制分數 270
10.1.3 繪制可移動區域和邊框 271
10.1.4 繪制“暫停”和“繼續”按鈕 272
10.1.5 繪制遊戲失敗提示 274
10.1.6 在視圖窗口中顯示場景 275
10.2 加入食物和貪吃蛇 277
10.2.1 在場景中添加食物 277
10.2.2 在場景中添加貪吃蛇 279
10.2.3 如何讓貪吃蛇動起來 283
10.3 實現剩餘的遊戲邏輯 284
10.3.1 用方向鍵控制貪吃蛇 284
10.3.2 重新開始、暫停和繼續 286
10.3.3 播放音頻 287
10.4 打包 289
10.4.1 用PyInstaller打包 289
10.4.2 用Nuitka打包 290
10.5 本章小結 291


