PyQt6開發及實例

鄭阿奇 著

  • 出版商: 電子工業
  • 出版日期: 2023-06-01
  • 售價: $588
  • 貴賓價: 9.5$559
  • 語言: 簡體中文
  • 頁數: 460
  • 裝訂: 平裝
  • ISBN: 7121455900
  • ISBN-13: 9787121455902
  • 相關分類: Qt
  • 立即出貨

買這商品的人也買了...

商品描述

PyQt6是Python應用開發的首選平台,本書包括PyQt6基礎和PyQt6開發及實例兩部分。
PyQt6基礎部分通過一個簡單實例初步熟悉PyQt6的兩種界面開發方式,然後介紹通用窗口、對話框(包括子類控件)和主窗口屬性、
方法、事件、信號和槽,在此基礎上介紹佈局管理、常用控件、容器佈局、菜單欄、工具欄、狀態欄、
表格、樹、拖曳與剪貼、繪圖、二維及三維圖表、定時器、線程和網頁交互等。
PyQt6開發及實例部分包括文檔分析器、網上商城、我的美圖、我的繪圖板、簡版和簡版。
本書內容兼顧代碼設計和工具設計,以代碼設計為主。
PyQt6基礎部分所有實例均採用代碼設計,PyQt6開發及實例部分一般界面採用工具設計,
功能實現採用代碼設計,與實際應用開發方式相同。
實例側重於綜合應用,每一個實例都經過精心考慮,
盡可能合理分配重要知識點和應用模塊庫,使其既體現主要知識的綜合,又是一個簡化的流行應用。
實例沒有嚴格的學習順序,讀者可以根據需要選擇。
本書網絡資源包括源代碼、學習課件、所有實例的工程文件包和對應的二維碼文檔,
讀者可通過電子工業出版社華信教育資源網免費下載。
本書可作為PyQt6和Python學習與應用開發的參考書,也可作為教學參考書。

目錄大綱

第1章PyQt6圖形界面程序設計入門 1
1.1 第一個實例:採用代碼計算圓面積 1
1.1.1 創建窗口 2
1.1.2 計算圓面積 3
1.2 第二個實例:採用設計器計算圓面積 7
1.2.1 工具的安裝 7
1.2.2 界面開發 7
1.2.3 功能開發 13
1.3 PyQt6集成開發環境搭建 15
1.3.1 安裝及配置PyCharm 15
1.3.2 PyCharm整合PyQt6界面設計工具 19
第2章窗口 22
2.1 PyQt6窗口和應用程序 22
2.1.1 PyQt6界面設計環境:Qt Designer 22
2.1.2 應用程序類:QApplication 23
2.2 通用窗口QWidget 23
2.2.1 坐標系統和類 23
2.2.2 常用屬性 25
2.2.3 事件 32
2.2.4 信號/槽 37
2.2.5 通用窗口實例 40
2.3 對話框QDialog 42
2.3.1 對話框屬性 42
2.3.2 對話框實例 43
2.3.3 對話框子類控件 44
2.4 主窗口QMainWindow 53
2.4.1 主窗口屬性 53
2.4.2 主窗口舉例 55
第3章佈局管理 57
3.1 設計器中的控件對象佈局 57
3.1.1 使用佈局管理器佈局 57
3.1.2 使用容器進行佈局 59
3.1.3 彈性間隔控件佈局 59
3.2 通過代碼進行控件對象佈局 61
3.2.1 佈局方式 61
3.2.2 佈局嵌套 66
3.2.3 其他佈局方法 69
第4章控件功能 71
4.1 控件及其繼承類 71
4.1.1 控件分類 71
4.1.2 控件及其屬性列表 71
4.1.3 控件類和繼承類 72
4.2 常用控件 73
4.2.1 標籤:Label 73
4.2.2 單行文本框:QLineEdit 76
4.2.3 多行文本框:QTextEdit 82
4.2.4 命令按鈕:QPushButton 84
4.2.5 單選按鈕:QRadioButton 86
4.2.6 複選框:QCheckBox 88
4.2.7 列錶框:QListView 和QListWidget 89
4.2.8 下拉列錶框:QComboBox 94
4.2.9 計數器:QSpinBox和QDoubleSpinBox 96
4.2.10 日曆:QCalendar 98
4.2.11 日期時間:QDateTimeEdit 100
4.3 滑動條、進度條、滾動條和旋鈕控件 102
4.3.1 滑動條:QSlider 102
4.3.2 進度條:QProgressBar 104
4.3.3 滾動條:QScrollBar 106
4.3.4 旋鈕:QDial 108
第5章容器佈局 110
5.1 控件容器佈局 110
5.1.1 框架:QFrame 110
5.1.2 分組框:QGroupBox 113
5.1.3 選項卡:QTabWidget 115
5.2 窗口佈局 118
5.2.1 堆棧窗口:QStackedWidget 118
5.2.2 停靠:QDockWidget 120
5.2.3 多文檔界面:MDI 124
5.2.4 工具盒:ToolBox 127
第6章菜單欄、工具欄和狀態欄 130
6.1 菜單欄 130
6.1.1 菜單欄:QMenuBar類 130
6.1.2 菜單欄菜單:QMenu 131
6.1.3 動作對象:QAction 131
6.2 工具欄:QToolBar 136
6.3 狀態欄:QStatusBar 138
6.4 主窗口綜合測試實例 140
6.5 用Qt Designer設計菜單與工具欄 142
6.5.1 菜單項與QAction的創建 142
6.5.2 QAction的設計 144
6.5.3 添加工具欄與QAction 144
第7章表格、樹、拖曳與剪貼板 147
7.1 表格 147
7.1.1 表格:QTableView 147
7.1.2 表格:QTableWidget 149
7.2 樹 159
7.2.1 樹:QTreeView 159
7.2.2 樹:QTreeWidget 163
7.3 拖曳與剪貼板 169
7.3.1 拖曳:Drag與Drop 169
7.3.2 剪貼板:QClipboard 171
第8章繪圖、二維及三維圖表 174
8.1 基本圖形繪製 174
8.1.1 繪圖基礎類 174
8.1.2 繪圖方法 178
8.1.3 路徑繪圖 185
8.2 二維圖表繪製 187
8.2.1 QtCharts基礎 187
8.2.2 繪製函數曲線 189
8.2.3 繪製柱狀/折線圖 192
8.2.4 繪製餅狀圖 194
8.2.5 matplotlib繪圖 196
8.3 三維圖表繪製 197
8.3.1 QtDataVisualization基礎 197
8.3.2 三維繪圖實例 199
第9章定時器、線程和網頁交互 203
9.1 定時器和線程 203
9.1.1 定時器:QTimer 203
9.1.2 線程:QThread 204
9.2 網頁交互 206
9.2.1 顯示指定地址的網頁 207
9.2.2 嵌入網頁的HTML代碼 208
9.2.3 嵌入網頁的JavaSciprt代碼 209
第10章PyQt6開發實例:文檔分析器 212
【技術基礎】 212
【實例開發】 213
10.1 創建項目 213
10.1.1 項目結構 213
10.1.2 界面設計 213
10.1.3 主程序框架 216
10.2 文檔的管理 218
10.2.1 目錄導航 218
10.2.2 文檔歸類 219
10.2.3 打開文檔 221
10.2.4 多文檔窗口佈局 222
10.3 文檔的分析 224
10.3.1 文本文字的分析 225
10.3.2 獲取網頁主題鏈接 229
10.3.3 識別掃描書頁文字 231
10.3.4 分析結果處理 235
10.4 其他功能 235
第11章PyQt6開發及實例:網上商城 237
【技術基礎】 237
【實例開發】 238
11.1 創建項目 238
11.1.1 數據準備 238
11.1.2 初步了解項目結構 239
11.2 功能導航模塊 240
11.2.1 界面設計 240
11.2.2 功能開發 241
11.3 商品選購模塊 242
11.3.1 界面設計 243
11.3.2 程序框架 244
11.3.3 功能開發 246
11.3.4 數據演示 250
11.4 下單結算模塊 251
11.4.1 界面設計 251
11.4.2 程序框架 253
11.4.3 功能開發 254
11.4.4 數據演示 261
11.5 銷售分析模塊 262
11.5.1 界面設計 263
11.5.2 程序框架 264
11.5.3 功能開發 265
第12章PyQt6開發及實例:我的美圖 271
【技術基礎】 271
12.1 PIL圖像處理技術 271
12.1.1 圖像載入(打開)與顯示 272
12.1.2 基礎處理 272
12.1.3 高級處理 274
12.2 用到的其他控件和技術 276
【實例開發】 276
12.3 創建項目 276
12.3.1 項目結構 276
12.3.2 界面創建 277
12.3.3 主程序框架 278
12.4 圖片打開、顯示和保存 280
12.4.1 圖片打開和保存 281
12.4.2 圖片自適應顯示 282
12.5 圖片區域選擇與操作 283
12.5.1 區域形狀設置 284
12.5.2 區域選擇 286
12.5.3 區域操作 288
12.6 圖像變換 291
12.6.1 轉換顯示模式 292
12.6.2 調整寬高像素比 293
12.6.3 鏡像、旋轉和縮放 295
12.6.4 圖像加水印文字 296
12.7 圖像美化 298
12.7.1 圖像增強 299
12.7.2 圖像合成 305
12.7.3 人臉識別與處理 308
第13章PyQt6開發及實例:我的繪圖板 312
【技術基礎】 312
13.1 繪圖相關技術 312
13.2 繪圖場景數據結構 313
13.2.1 數據結構設計 313
13.2.2 數據結構處理 315
【實例開發】 316
13.3 創建項目 316
13.3.1 項目結構 316
13.3.2 主程序框架 317
13.4 主界面開發 318
13.4.1 界面設計 318
13.4.2 文件管理欄開發 320
13.4.3 樣式欄開發 321
13.4.4 工具箱開發 325
13.4.5 繪圖區和狀態欄開發 326
13.5 繪圖功能開發 328
13.5.1 創建圖元 328
13.5.2 調整圖元大小 333
13.5.3 設置樣式 336
13.5.4 操縱圖元 342
13.6 圖元文件管理 343
第14章PyQt6開發及實例:簡版微信 349
【技術基礎】 350
14.1 網絡通信 350
14.1.1 基於UDP的數據通信 350
14.1.2 基於TCP的字節傳輸 353
14.2 MongoDB數據庫 356
14.2.1 安裝MongoDB 356
14.2.2 創建數據庫MyWeDb 357
14.2.3 數據庫訪問與操作 357
14.3 SQLite應用 360
14.3.1 訪問SQLite 361
14.3.3 記錄日誌 361
14.3.4 加載日誌 362
14.4 用到的其他控件和技術 363
【實例開發】 363
14.5 創建項目 363
14.5.1 客戶端項目 363
14.5.2 服務器項目 366
14.6 界面開發 368
14.6.1 界面設計 368
14.6.2 初始化 371
14.6.3 界面切換 372
14.7 微信基本功能開發 374
14.7.1 用戶管理 374
14.7.2 文字聊天 377
14.7.3 信息暫存與轉發 381
14.8 微信增強功能的開發 382
14.8.1 功能演示 383
14.8.2 文件、圖片、語音的傳輸 385
14.8.3 實時語音通話 396
第15章PyQt6開發及實例:簡版抖音 401
【技術基礎】 401
15.1 視頻播放處理 401
15.2 MySQL數據庫 402
15.2.1 設計數據庫MyTikTok 402
15.2.2 數據庫訪問與操作 404
15.2.3 讀寫特殊數據類型 405
【實例開發】 405
15.3 創建項目 405
15.3.1 項目結構 405
15.3.2 主程序框架 406
15.4 主界面開發 407
15.4.1 界面設計 407
15.4.2 初始化 410
15.4.3 運行效果 411
15.5 視頻基本功能開發 411
15.5.1 視頻播放 411
15.5.2 視頻控制 415
15.5.3 視頻信息顯示 416
15.6 特色功能開發 418
15.6.1 關注和點贊 418
15.6.2 評論與彈幕 422
15.6.3 根據用戶喜好推薦視頻 425
15.7 視頻錄製、編輯與發布 427
15.7.1 視頻錄製 427
15.7.2 視頻編輯與發布 430
附錄PyQt6項目工程打包 442