PyQt 5從入門到精通

朱文偉

  • 出版商: 清華大學
  • 出版日期: 2023-05-01
  • 定價: $774
  • 售價: 8.5$658
  • 語言: 簡體中文
  • 頁數: 396
  • 裝訂: 平裝
  • ISBN: 7302632456
  • ISBN-13: 9787302632450
  • 相關分類: Qt
  • 立即出貨 (庫存 < 3)

  • PyQt 5從入門到精通-preview-1
  • PyQt 5從入門到精通-preview-2
  • PyQt 5從入門到精通-preview-3
PyQt 5從入門到精通-preview-1

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

商品描述

本書既是介紹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