PyQt 5從入門到精通

PyQt 5從入門到精通

《PyQt 5從入門到精通》是一本清華大學出版社出版的圖書,作者是朱文偉。

本書講解了PyQt5環境搭建、PyQt5視窗設計基礎、PyQt5常用控制項、選單、工具列和狀態欄、對話框套用、布局管理等基礎知識,還講解了多執行緒編程、資料庫編程、圖形圖像編程和網路編程等內容。本書實例豐富、注釋詳細,能幫助讀者快速掌握PyQt5的實戰套用,實例的作用非常大,稍微有經驗的工程師看一遍帶注釋的代碼,基本就能掌握開發精髓。

基本介紹

  • 中文名:《PyQt 5從入門到精通》 
  • 作者:朱文偉
  • 類別:信息技術
  • 出版社:清華大學出版社
  • 出版時間:2023年5月1日
  • 定價:129 元
  • 開本:16 開
  • 裝幀:平裝
  • ISBN:9787302632450
內容簡介,圖書目錄,作者簡介,

內容簡介

本書既是介紹PyQt5的快速入門書籍,也是介紹PyQt5實戰套用的書籍。本書學習曲線平緩,除了適合初學者之外,其內容詳細和廣泛的特點又使得其非常適合做軟體工程師們的案頭查詢手冊,大大節省了繁忙的工程師去查閱和篩選信息的時間,做到“一本在手,PyQt Me有”。本書配套示例源碼。
本書共分11章,從最基本的PyQt5環境搭建開始,不但有PyQt5視窗設計基礎、PyQt5常用控制項、選單、工具列和狀態欄、對話框套用、布局管理等基礎知識,還包括了多執行緒編程、資料庫編程、圖形圖像編程和網路編程等。本書聚焦PyQt5,內容雖多但都是實實在在的“乾貨”。
本書旨在幫助讀者以最短的時間掌握PyQt5的基礎知識及實戰套用,適合PyQt5初學者以及開發工程師,也適合作為高等院校計算機軟體開發及相關專業的教材。

圖書目錄

第1章 Qt概述 1
1.1 Qt簡介 1
1.2 發展歷程 1
1.3 Qt優點 2
1.4 Qt的主要套用領域 3
1.5 認識PyQt 5
第2章 搭建PyQt開發環境 7
2.1 搭建Windows下的PyQt開發環境 7
2.1.1 下載和安裝Python 7
2.1.2 Pycharm開發Python程式 9
2.1.3 安裝PyQt 11
2.1.4 安裝可視化界面設計器 21
2.1.5 集成Qt Designer到PyCharm 30
2.1.6 PyCharm的一些小技巧 39
2.1.7 卸載PyQt 40
2.2 PyQt 的功能模組 40
第3章 PyQt編程基礎 50
3.1 位元組數組類QByteArray 52
3.1.1 Unicode編碼及其UTF-8實現 52
3.1.2 Python中bytes 類 54
3.1.3 構造函式 56
3.1.4 數組信息 57
3.1.5 增加數據 57
3.1.6 刪除數據 59
3.1.7 修改數據 60
3.1.8 查找 62
3.1.9 提取內容 63
3.1.10 切分 65
3.1.11 轉換 65
3.1.12 比較 71
3.2 認識PyQt界面Widgets 71
3.3 PyQt中界面相關的類庫 72
3.3.1 類QObject 73
3.3.2 類QWidget 74
3.3.3 和主視窗有關的類 74
3.3.4 對話框和控制項類 75
3.3.5 QtWidgets應用程式類型 75
3.4 獲取當前時間 75
3.5 事件機制 77
3.5.1 基本概念 77
3.5.2 事件來源 78
3.5.3 事件的描述 78
3.5.4 事件的類型 78
3.5.5 GUI應用程式的事件處理流程 79
3.5.6 事件的傳遞 79
3.5.7 事件處理和過濾的方式 79
3.6 信號和槽 86
3.6.1 基本概念 86
3.6.2 事件機制與信號槽機制的區別 88
3.6.3 內置信號與內置槽函式 88
3.6.4 內置信號與自定義槽函式 90
3.6.5 自定義信號與內置槽函式 91
3.6.6 自定義信號與自定義槽函式 93
3.6.7 Qt中的坐標系統 98
第4章 PyQt對話框程式設計 102
4.1 對話框程式設計概述 102
4.2 QDialog類及其函式 102
4.3 創建對話框程式 104
4.3.2 設定對話框的尺寸、圖示和背景圖片 108
4.4 在對話框上使用按鈕控制項 118
4.4.1 顯示控制項工具箱 119
4.4.2 拖動一個按鈕到對話框 120
4.4.3 選中按鈕控制項 120
4.4.4 移動對話框上的按鈕控制項 120
4.4.5 對齊對話框上的按鈕控制項 120
4.4.6 調整按鈕控制項的大小 121
4.4.7 刪除對話框上的按鈕控制項 121
4.4.8 為按鈕添加信號處理函式 121
4.5 模態對話框和非模態對話框 128
4.6 通用對話框 133
4.6.1 訊息對話框QMessageBox 134
4.6.2 檔案對話框QFileDialog 141
4.6.3 字型對話框QFontDialog 149
4.6.4 顏色對話框 151
4.7 移動對話框到指定位置 152
4.8 在對話框非標題欄區域實現拖動 154
第5章 PyQt控制項設計 156
5.1 控制項概述 156
5.2 對話框程式設計概述 156
5.3 按鈕類控制項 157
5.3.1 概述 157
5.3.2 按鈕類的父類QAbstractButton 158
5.3.3 推壓按鈕QPushButton 158
5.3.4 工具按鈕QToolButton 165
5.3.5 單選按鈕Radio Button 168
5.3.6 複選框按鈕QCheckBox 173
5.3.7 對話框組合按鈕QDialogButtonBox 178
5.4 列表視圖控制項QListView 179
5.4.1 抽象數據項模型QAbstractItemModel 180
5.4.2 字元串列表數據模型QStringListModel 181
5.4.3 檔案系統數據模型QDirModel 184
5.5 樹形視圖控制項QTreeView 187
5.5.1 標準數據項QStandardItem 187
5.5.2 標準數據項模型QStandardItemModel 188
5.5.3 添加表頭 192
5.5.4 隱藏表頭 192
5.5.5 條目的操作 192
5.6 Tree Widge控制項 202
5.7 組合框QComboBox 204
5.7.1 添加內容項和設定圖示 205
5.7.2 刪除某個內容項 205
5.7.3 清空組合框內容 205
5.7.4 QComboBox列表項的訪問 205
5.7.5 選擇項發生變化時的信號 206
5.8 字型組合框 207
5.9 標籤控制項QLabel 208
5.10 分組框控制項QGroupBox 215
5.11 正則表達式和類QRegExp 216
5.11.1 正則表達式規則 216
5.11.2 正則表達式中的一些高級規則 219
5.11.3 其他通用規則 221
5.11.4 表達式屬性 222
5.11.5 類QRegExp 222
5.12 行編輯框QLineEdit 226
5.12.1 常用成員函式 226
5.12.2 描述輸入框顯示其內容的枚舉 227
5.12.3 對齊方式 227
5.12.4 獲取和設定選擇的文本 227
5.12.5 常用信號 227
5.12.6 限制字元的輸入 228
5.13 進度條控制項QProgressBar 233
5.13.1 QProgressBar常用函式 234
5.13.2 進度方向 235
5.13.3 文本顯示 235
5.13.4 繁忙指示 236
5.14 布局管理器 237
5.14.1 基本布局管理器QBoxLayout 238
5.14.2 柵格布局管理器QGridLayout 238
5.14.3 窗體布局管理器QFormLayout 239
第6章 PyQt資料庫編程 240
6.1 資料庫的基本概念 240
6.1.1 資料庫 240
6.1.2 資料庫管理系統 241
6.1.3 SQL語言 241
6.2 QtSql模組 241
6.2.1 驅動層 242
6.2.2 SQL接口層 243
6.2.3 用戶接口層 243
6.3 訪問資料庫 243
6.3.1 訪問微軟的Access 243
6.3.2 訪問Sqlite資料庫 248
第7章 PyQt檔案編程 254
7.1 Qt下Python檔案編程 254
7.1.1 檔案路徑 254
7.1.2 當前工作目錄 257
7.1.3 絕對路徑與相對路徑 257
7.1.4 Python檔案基本操作 259
7.1.5 打開檔案函式 259
7.1.6 讀取檔案函式 263
7.1.7 按行讀取檔案 264
7.1.8 向檔案中寫入數據 266
7.1.9 關閉檔案 268
7.1.10 seek和tell函式 269
7.2 利用PyQt庫進行檔案編程 271
7.2.1 輸入/輸出設備類 271
7.2.2 檔案類QFile 271
第8章 PyQt圖形編程 282
8.1 概述 282
8.2 重繪事件處理函式paintEvent 283
8.3 點坐標類QPOINT 285
8.3.1 成員函式 285
8.3.2 相關非成員 286
8.3.3 定義一個點 286
8.3.4 計算歐式距離(兩點之間的距離) 286
8.3.5 獲取和設定點的分量值 287
8.4 矩形尺寸類QSize 288
8.4.1 定義一個矩形尺寸 289
8.4.2 獲取和設定矩形尺寸的寬度和高度 289
8.4.3 縮放矩形尺寸 290
8.5 顏 色 292
8.5.1 構造顏色 294
8.5.2 獲取和設定rgb分量 294
8.6 畫筆類QPen 296
8.6.1 畫筆的屬性 296
8.6.2 構造一支畫筆 299
8.6.3 獲取或設定畫筆顏色 300
8.6.4 獲取或設定畫筆寬度 300
8.6.5 獲取或設定畫筆線型樣式 300
8.7 畫 刷 302
8.8 畫圖類QPainter 310
8.8.1 畫直線 311
8.8.2 畫矩形 311
8.8.3 畫橢圓和圓 312
8.8.4 繪製文本 312
第9章 選單欄、工具列和狀態欄 316
9.1 選單的設計與開發 316
9.1.1 選單欄類QMenuBar 318
9.1.2 動作類QAction 319
9.1.3 選單類QMenu 319
9.1.4 可視化添加選單 324
9.1.5 右鍵選單 327
9.2 工具列的設計與開發 329
9.3 狀態欄的設計與開發 331
9.3.2 子選單項提示信息顯示在狀態欄上 334
9.3.3 臨時信息不需要標籤 335
9.3.4 狀態欄上使用按鈕 336
第10章 多執行緒基本編程 339
10.1 使用多執行緒的好處 339
10.2 多執行緒編程的基本概念 340
10.2.1 作業系統和多執行緒 340
10.2.2 執行緒的基本概念 340
10.2.3 執行緒的狀態 341
10.2.4 執行緒函式 342
10.2.5 執行緒標識 342
10.2.6 QThread的基本使用 342
10.2.7 執行緒間通信 345
第11章 PyQt網路編程 350
11.1 TCP/IP協定 350
11.1.1 基本概念 350
11.1.2 TCP/IP協定的分層結構 350
11.2 獲取主機網路信息 352
11.2.1 類QHostInfo 352
11.2.2 查詢本機主機名 353
11.2.3 查詢遠程主機的IP位址 354
11.3 TCP編程 355
11.4 UDP編程 366
11.4.1 UDP通信概述 366
11.4.2 UDP單播編程 366
11.4.3 單播、多播(組播)和廣播 370
11.5 HTTP操作 372
11.5.1 HTTP簡介 373
11.5.2 HTTP工作原理 373
11.5.3 HTTP的特點 374
11.5.4 HTTP 訊息結構 374
11.5.5 客戶端請求訊息 374
11.5.6 伺服器回響訊息 375
11.5.7 HTTP狀態碼 377
11.5.8 HTTP狀態碼分類 377
11.5.9 JSON數據 377
11.5.10 HTTP GET請求 380
11.5.11 HTTP POST請求 381
11.5.12 使用QNetworkAccessManager進行身份驗證 383
11.5.13 提取一個網站圖示 384
11.6 FTP開發 385
11.6.1 FTP概述 385
11.6.2 FTP的工作原理 386
11.6.3 FTP的傳輸方式 387
11.6.4 FTP的工作方式 387
11.6.5 FTP命令 388
11.6.6 FTP應答碼 391
11.6.7 開發FTP客戶端 392
第12章 PyQt多媒體編程 399
12.1 概述 399
12.2 視頻播放類QMediaPlayer 400
12.2.1 重要成員函式 400
12.2.2 重要信號 400
12.2.3 播放音頻 402
12.3 視頻部件類QVideoWidget 405
12.4 播放列表類QMediaPlaylist 408

作者簡介

朱文偉,名校計算機專業統招碩士,20年C\C++、Java開發經驗。主導開發過密碼、圖形、人工智慧等產品。精通Linux、Windows系統開發及資料庫開發技術。著有圖書《Windows C/C++加密解密實戰》《密碼學原理與Java實現》《Linux C與C++ 一線開發實踐》《Visual C++2017從入門到精通》《OpenCV 4.5計算機視覺開發實戰(基於VC++)》《OpenCV 4.5計算機視覺開發實戰:基於Python》。

相關詞條

熱門詞條

聯絡我們