PyQt 5從入門到精通
朱文偉
買這商品的人也買了...
-
$3,800$3,610 -
$2,100$1,995 -
$580$458 -
$474$450 -
$460$363 -
$620$484 -
$894$849 -
$480$379 -
$599$473 -
$340$333 -
$599$473 -
$680$537 -
$900$855 -
$880$695 -
$1,780$1,691 -
$709PySide 6/PyQt 6 快速開發與實戰
-
$880$695 -
$607深入理解 Go 語言
-
$890$703 -
$580$458 -
$780$616 -
$720$569 -
$1,280$1,011 -
$1,548$1,471 -
$390$308
相關主題
商品描述
本書既是介紹PyQt5的快速入門書籍,也是介紹PyQt5實戰應用的書籍。本書學習曲線平緩,除了適合初學者之外,其內容詳細和廣泛的特點又使得其非常適合做軟件工程師們的案頭查詢手冊,大大節省了繁忙的工程師去查閱和篩選信息的時間,做到“一本在手,PyQt我有”。本書配套示例源碼。 本書共分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