Course Code:
pyqtlili
Duration:
14 hours
Course Outline:
培訓對象:
- 架構師、開發工程師
學員基礎:
- 有至少一年以上的Python、PyQt開發基礎
授課方式:
- 定制課程 + 案例講解 ,50%理論知識,50%案例講解
培訓內容:
- 2天,共計14小時(每日含1小時休息)
課程安排:
第一天
PyQt概述
- 使用Qt Designer創建UI
- 使用PyCharm編寫PyQt應用程序
Qt Designer的使用
- Qt Designer快速入門
- 新建主窗口
- 窗口主要區域介紹
- 查看.ui文件
- 將.ui文件轉換爲.py文件
- 將.qrc文件轉換爲.py文件
- 界面與邏輯分離
- 布局管理入門
- 使用布局管理器進行布局
- 使用容器控件進行布局
- Qt Designer實戰應用
- 絕對布局
- 使用布局管理器進行布局
- 測試程序
- 信號與槽關聯
- 菜單欄與工具欄
- 界面設計
- 添加圖片(資源文件)
- 創建資源文件
- 添加資源文件
- 轉換資源文件
Qt數據庫
- Qt SQL簡介
- 連接數據庫
- 執行SQL語句
- 模型、視圖、委托框架
- 數據庫模型
- 數據庫模型與視圖結合
- QSqlQueryModel分頁視圖查詢
- QSqlTableModel排序過濾表
- QSqlRelationalTableModel關系表單
- 數據感知表單
- QDataWidgetMapper數據感知表單
- 自定義模型與委托
- 數據庫自定義模型+委托案例
多線程編程
- 線程概述
- 線程的定義與分類
- 多線程的優缺點
- QTimer:計時器
- QThread:線程類
- 線程的實現
- 線程的生命周期
- 線程的應用
PyQt程序面向對象設計
- 高效函數設計
- 面向對象概述
- 類的定義和使用
- 封裝
- 組合
- 繼承
- 繼承提供抽象
- 多重繼承
- 模塊和包
- 組織模塊
- 擴展內置對象
- 重寫和super
- 多重繼承
- 鑽石型繼承問題
- 不同集合的參數
- 多態
- 抽象基類
- 使用抽象基類
- 創建抽象基類
測試面向對象程序
- 測試驅動開發
- 單元測試
- 斷言方法
- 減少模板代碼並進行清理
- 組織和運行測試
- 忽略失敗的測試
- 用py.test進行測試
- 完成設置和清理的方式
- 完全不同的設置變量的方式
- 在py.test中跳過測試
- 模擬昂貴的對象
高效Python:性能優化技巧
PyQt軟件性能調優案例實戰
第二天
PyQt工程化開發最佳實踐
- 開源協議概述
- Python庫的開源協議
- PyQt源代碼工程目錄結構
- Python包管理工具:Anaconda實戰
- 使用Nexus管理pip倉庫
- 使用SonarQube 檢查 Python 代碼質量
- 使用Nexus實現PyQt程序制品庫管理
設計可擴展性、可維護性PyQt應用程序
Python設計模式I
- 裝飾器模式
- 裝飾器的例子
- Python中的裝飾器
- 觀察者模式
- 觀察者模式的例子
- 策略模式
- 策略模式的例子
- Python中的策略
- 狀態模式
- 狀態模式的例子
- 狀態與策略
- 狀態轉換作爲協程
- 單例模式
- 單例模式的實現
- 模板模式
- 模板模式的例子
Python設計模式II
- 適配器模式
- 門面模式
- 享元模式
- 命令模式
- 抽象工廠模式
- 複合模式