零基礎學Python GUI設計:PyQt(升級版)

明日科技

  • 出版商: 電子工業
  • 出版日期: 2024-03-01
  • 定價: $594
  • 售價: 8.5$505
  • 語言: 簡體中文
  • 頁數: 268
  • ISBN: 712147266X
  • ISBN-13: 9787121472664
  • 相關分類: Python程式語言Qt
  • 下單後立即進貨 (約4週~6週)

商品描述

《零基礎學Python GUI設計:PyQt》(升級版)以開發Python窗口程序的PyQt6模塊為主線,全面介紹了使用PyQt6 設計Python GUI程序的各方面技術。全書共分為15章,內容涉及Python與PyQt6,搭建開發環境,第一個PyQt6窗口程序,PyQt6窗口設計基礎,PyQt6常用控件,PyQt6高級控件,菜單、工具欄和狀態欄,對話框應用,佈局管理,數據庫操作,文件操作,PyQt6繪圖技術,多線程編程,PyQt6程序的打包發布等。本書從用戶學習與應用的角度出發,將所有的知識都結合具體實例進行講解,對涉及的程序代碼給出詳細的註釋,並且運用大量的示意圖和實例應用,力求打造輕松、零壓力的學習氛圍,以便讀者輕松掌握使用PyQt6進行Python GUI應用開發的精髓,快速提高開發技能,拓寬職場道路,最後將PyQt6開發知識應用於實際項目中,以便讀者體驗項目開發的全過程。 本書列舉了大量的小型實例、綜合實例和實戰項目案例,所有實例和項目都提供了配套的源碼,力求為讀者打造一本結合了“基礎入門+應用開發+實戰項目”的Python PyQt6開發圖書。 本書內容詳盡,實例豐富,項目經典,非常適合作為PyQt6編程初學者的學慣用書,也適合作為Python開發人員的查閱、參考資料。另外,對於從C++、C#、Java等編程語言轉入Python的開發人員也有很高的參考價值。

目錄大綱

第1章 Python與PyQt6 1
1.1 Python語言介紹 2
1.1.1 瞭解Python 2
1.1.2 Python的版本 2
1.1.3 Python的應用領域 2
1.2 GUI與PyQt6 3
1.2.1 GUI簡介 3
1.2.2 什麽是PyQt6 4
1.2.3 PyQt6與Qt的關系 5
1.2.4 PyQt6的主要模塊 6
1.2.5 其他常用GUI開發庫 8
第2章 搭建開發環境 9
2.1 Python的下載與安裝 10
2.1.1 Python開發環境概述 10
2.1.2 下載Python 10
2.1.3 安裝Python 11
2.1.4 測試Python是否安裝成功 13
2.1.5 Python安裝失敗的解決方法 13
2.2 PyCharm開發工具的下載與安裝 15
2.2.1 下載PyCharm 15
2.2.2 安裝PyCharm 16
2.2.3 啟動並配置PyCharm 17
2.3 在PyCharm中配置PyQt6環境 18
2.3.1 安裝PyQt6及設計器 18
2.3.2 配置PyQt6設計器及轉換工具 22
第3章 第一個PyQt6窗口程序 25
3.1 認識Qt Designer 25
3.1.1 幾種常用的窗口類型 26
3.1.2 熟悉Qt Designer窗口區域 28
3.2 使用Qt Designer創建窗口 32
3.2.1 MainWindow介紹 32
3.2.2 創建主窗口 32
3.2.3 設計主窗口 32
3.2.4 預覽窗口效果 33
3.2.5 查看Python代碼 34
3.2.6 將.ui文件轉換為.py文件 35
3.2.7 運行主窗口 35
第4章 PyQt6窗口設計基礎 37
4.1 窗口屬性列表 37
4.2 窗口的個性化設置 39
4.2.1 基本屬性設置 39
4.2.2 更換窗口的圖標 40
4.2.3 設置窗口的背景 41
4.2.4 控制窗口透明度 44
4.2.5 設置窗口樣式 44
4.3 信號與槽 46
4.3.1 信號與槽的基本概念 46
4.3.2 編輯信號與槽 47
4.3.3 自定義槽 49
4.3.4 將自定義槽連接到信號 49
4.4 多窗口設計 50
4.4.1 多窗口的建立 50
4.4.2 設置啟動窗口 51
4.4.3 窗口之間的關聯 51
4.5 UI與邏輯代碼分離 52
第5章 PyQt6常用控件 54
5.1 控件概述 55
5.1.1 認識控件 55
5.1.2 控件的命名規範 56
5.2 文本類控件 57
5.2.1 Label:標簽控件 57
5.2.2 LineEdit:單行文本框 60
5.2.3 TextEdit:多行文本框 62
5.2.4 SpinBox:整數數字選擇控件 63
5.2.5 DoubleSpinBox:小數數字選擇控件 64
5.2.6 LCDNumber:液晶數字顯示控件 65
5.3 按鈕類控件 67
5.3.1 PushButton:按鈕 67
5.3.2 ToolButton:工具按鈕 69
5.3.3 CommandLinkButton:命令鏈接按鈕 70
5.3.4 RadioButton:單選按鈕 71
5.3.5 CheckBox:復選框 73
5.4 選擇列表類控件 75
5.4.1 ComboBox:下拉組合框 75
5.4.2 FontComboBox:字體組合框 76
5.4.3 ListWidget:列表 77
5.5 容器控件 80
5.5.1 GroupBox:分組框 80
5.5.2 TabWidget:選項卡 81
5.5.3 ToolBox:工具盒 83
5.6 日期時間類控件 87
5.6.1 日期和(或)時間控件 87
5.6.2 CalendarWidget:日歷控件 89
第6章 PyQt6高級控件 92
6.1 進度條類控件 93
6.1.1 ProgressBar:進度條 93
6.1.2 自定義等待提示框 97
6.1.3 滑塊:QSlider 99
6.2 樹控件 102
6.2.1 TreeView:樹視圖 102
6.2.2 TreeWidget:樹控件 105
6.3 分割控件 110
6.3.1 分割線:QFrame 110
6.3.2 彈簧:QSpacerItem 112
6.4 其他控件 113
6.4.1 Dial:旋鈕控件 113
6.4.2 滾動條:QScrollBar 115
第7章 菜單、工具欄和狀態欄 116
7.1 菜單 117
7.1.1 菜單基礎類 117
7.1.2 添加和刪除菜單 118
7.1.3 設置菜單項 119
7.1.4 為菜單設置快捷鍵 120
7.1.5 為菜單設置圖標 120
7.1.6 菜單的功能實現 120
7.2 工具欄 123
7.2.1 工具欄類:QToolBar 123
7.2.2 添加工具欄 124
7.2.3 為工具欄添加圖標按鈕 124
7.2.4 一次性為工具欄添加多個圖標按鈕 125
7.2.5 向工具欄中添加其他控件 125
7.2.6 設置工具欄按鈕的大小 126
7.2.7 實現工具欄的單擊功能 126
7.3 狀態欄 128
7.3.1 狀態欄類:QStatusBar 128
7.3.2 添加狀態欄 129
7.3.3 向狀態欄中添加控件 129
7.3.4 在狀態欄中顯示和刪除臨時信息 130
7.3.5 在狀態欄中實時顯示當前時間 130
第8章 對話框應用 132
8.1 QMessageBox:對話框 133
8.1.1 對話框的種類 133
8.1.2 對話框的使用方法 133
8.1.3 與對話框進行交互 135
8.2 QFileDialog:文件對話框 136
8.2.1 QFileDialog類概述 136
8.2.2 使用QFileDialog選擇文件 136
8.2.3 使用QFileDialog選擇文件夾 138
8.3 QInputDialog:輸入對話框 139
8.3.1 QInputDialog概述 139
8.3.2 QInputDialog對話框的使用 141
8.4 字體和顏色對話框 144
8.4.1 QFontDialog:字體對話框 144
8.4.2 QColorDialog:顏色對話框 144
8.4.3 字體和顏色對話框的使用 145
第9章 佈局管理 148
9.1 線性佈局 149
9.1.1 VerticalLayout:垂直佈局 149
9.1.2 HorizontalLayout:水平佈局 151
9.2 GridLayout:網格佈局 152
9.2.1 網格佈局的基本使用 152
9.2.2 跨越行和列的網格佈局 154
9.3 FormLayout:表單佈局 156
9.4 佈局管理器的嵌套 159
9.4.1 嵌套佈局的基本使用 159
9.4.2 通過嵌套佈局設計一個微信聊天窗口 160
第10章 數據庫操作 162
10.1 數據庫編程接口 163
10.1.1 連接對象 163
10.1.2 游標對象 164
10.2 使用內置的SQLite 165
10.2.1 創建數據庫文件 165
10.2.2 操作SQLite 166
10.3 MySQL數據庫的使用 169
10.3.1 下載並安裝MySQL 169
10.3.2 安裝PyMySQL模塊 174
10.3.3 連接數據庫 175
10.3.4 創建數據表 175
10.3.5 操作MySQL數據表 177
10.4 表格控件 178
10.4.1 TableWidget控件 179
10.4.2 在表格中顯示數據庫數據 181
10.4.3 隱藏垂直標題 182
10.4.4 設置最後一列自動填充容器 182
10.4.5 禁止編輯單元格 183
10.4.6 設置單元格的文本顏色 183
10.4.7 設置指定列的排序方式 184
10.4.8 在指定列中顯示圖片 185
10.4.9 向指定列中添加PyQt6標準控件 185
10.4.10 合並指定單元格 186
第11章 文件操作 188
11.1 使用QFile類操作文件 189
11.2 使用QDir類操作文件夾 194
第12章 PyQt6繪圖技術 199
12.1 PyQt6繪圖基礎 200
12.2 設置畫筆與畫刷 201
12.2.1 設置畫筆:QPen 201
12.2.2 設置畫刷:QBrush 204
12.3 繪制文本 208
12.3.1 設置樣式:QFont 208
12.3.2 繪制文本 209
12.4 繪制圖像 211
第13章 多線程編程 213
13.1 線程概述 213
13.1.1 線程的定義與分類 213
13.1.2 多線程的優缺點 214
13.2 QTimer:計時器 215
13.3 QThread:線程類 218
13.3.1 線程的實現 218
13.3.2 線程的生命周期 220
13.3.3 線程的應用 220
第14章 PyQt6程序的打包發布 224
14.1 安裝Pyinstaller模塊 224
14.2 打包普通Python程序 226
14.3 打包PyQt6程序 227
14.4 打包資源文件 229
第15章 綜合項目——學生成績管理系統(PyQt6+MySQL+PyMySQL模塊實現) 230
15.1 需求分析 231
15.2 系統設計 231
15.2.1 系統功能結構 231
15.2.2 系統業務流程 232
15.2.3 系統預覽 232
15.3 系統開發必備 235
15.3.1 系統開發環境 235
15.3.2 系統組織結構 236
15.4 數據庫設計 236
15.4.1 數據庫結構設計 237
15.4.2 數據表結構設計 237
15.4.3 視圖設計 239
15.5 公共模塊設計 240
15.5.1 模塊導入及公共變量 240
15.5.2 打開數據庫連接 240
15.5.3 數據庫的增、刪、改 241
15.5.4 數據庫的查詢 241
15.6 登錄模塊設計 242
15.6.1 登錄模塊概述 242
15.6.2 模塊的導入 243
15.6.3 登錄功能的實現 243
15.6.4 退出登錄窗體 244
15.6.5 在Python中啟動登錄窗體 244
15.7 主窗體實現 244
15.7.1 主窗體概述 244
15.7.2 模塊導入及窗體初始化 245
15.7.3 在主窗體中打開其他功能窗體 246
15.7.4 顯示當前登錄用戶和登錄時間 246
15.8 學生成績管理模塊設計 247
15.8.1 學生成績管理模塊概述 247
15.8.2 窗體的初始化 247
15.8.3 顯示指定年級和班級的所有學生姓名 248
15.8.4 根據指定條件查詢成績信息 248
15.8.5 添加學生成績信息 250
15.8.6 修改學生成績信息 251
15.8.7 刪除學生成績信息 252
15.9 學生成績查詢模塊設計 252
15.9.1 學生成績查詢模塊概述 252
15.9.2 初始化考試類別和科目列表 253
15.9.3 學生成績查詢功能的實現 253