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
- 适配器模式
- 门面模式
- 享元模式
- 命令模式
- 抽象工厂模式
- 复合模式