pyqt5
PyQt5视频课程
代码索引
控件
创建主窗口
主窗口居中
退出应用程序
创建主窗口(介绍窗口类型)
设置窗口和应用程序图标
为控件添加提示消息Tooltip
QLabel控件的基本用法
- 垂直布局
- QLable设置
QLabel与伙伴关系
-
热键
&
-
栅格布局设置
QLineEdit控件与回显模式(EchoMode)
-
表单布局
-
4种回显模式
限制QLineEdit控件的输入(校验器)
-
控制输入框的格式:如用户名只能包含数字加字母
-
正则化表达式
使用掩码控制QLineEdit控件的输入
- 掩码规则
QLineEdit控件综合案例
-
文本修改的信号和槽
-
综合上面学习的QLineEdit控件的功能
使用QTextEdit控件输入多行文本
- 通过QTextEdit获取文本(后台数据)
- 通过QTextEdit显示文本
按钮控件QPushButton
-
QPushButton
-
利用
Lambda
进行传参并调用槽函数
单选按钮控件QRadioButton
-
利用self.send来获取信号
复选框控件QCheckBox
-
默认选中状态、未选中状态、待选中状态
下拉列表控件QComboBox
-
currentIndexChanged
信号默认会传递两个参数:控件本身和索引
滑块控件QSlider
计数器控件QSpinBox
对话框
使用QDialog显示通用对话框
显示不同类型的消息对话框QMessageBox
-
关于对话框
-
错误对话框
-
警告对话框
-
提问对话框
-
消息对话框
输入对话框QInputDialog
字体对话框QFontDialog
颜色对话框QColorDialog
文件对话框QFileDialog
-
打开图像并显示
-
打开文本并显示
绘图
在窗口上绘制直线
用像素点绘制正弦曲线
绘制不同类型的直线
绘制各种图形
-
弧
-
圆形
-
椭圆
-
矩形(正方形)
-
多边形
-
绘制图像
用画刷填充图形区域
拖拽及剪切板
让控件支持拖拽动作
使用剪贴板
日历
日历控件
设置不同风格的日期和时间
日期和时间控件的高级操作
- 设置或获取时间
菜单
创建和使用菜单
创建和使用工具栏
创建和使用状态栏
打印机
使用打印机
显示打印对话框
数据显示
显示二维表数据(QTableView控件)
显示列表数据(QListView控件)
扩展的列表控件(QListWidget)
扩展的表格控件(QTableWidget)
在表格单元格中放置控件
在表格中快速定位到特定的行
设置单元格字体和颜色
按列排序
设置单元格的文本对齐方式
合并单元格
设置单元格尺寸
在单元格中实现图文混排的效果
改变单元格中图片的尺寸
在表格中显示上下文菜单
树控件(QTreeWidget)的基本用法
为树节点添加响应事件
添加、修改和删除树控件中的节点
QTreeView控件与系统定制模式
容器
选项卡控件:QTabWidget
堆栈窗口控件(QStackedWidget)
停靠控件(QDockWidget)
容纳多文档的窗口
[滚动条控件(QScrollBar)](pyqt5/ScrollBar.py at master · zhgqcn/pyqt5 · GitHub)
多线程
[动态显示当前时间QTimer](pyqt5/ShowTime.py at master · zhgqcn/pyqt5 · GitHub)
[让程序定时关闭QTimer.singleShot](pyqt5/AutoCloseWindow.py at master · zhgqcn/pyqt5 · GitHub)
[使用线程类(QThread)编写计数器](pyqt5/Counter.py at master · zhgqcn/pyqt5 · GitHub)
-
自定义信号
web交互
用Web浏览器控件(QWebEngineView)显示网页
-
Python+JavaScript+HTML5+CSS 混合开发
装载本地Web页面
显示嵌入Web页面
PyQt5调用JavaScript代码
-
PyQt5 <-> JavaScript 互相调用数据
JavaScript调用Python函数计算阶乘
-
Python <-> JavaScript 互相调用数据
布局
绝对布局
水平盒布局(QHBoxLayout)
设置控件的对齐方式
垂直盒布局(QBoxLayout)
设置伸缩量(addStretch)
让按钮永远在窗口右下角
栅格布局:实现计算器UI
栅格布局:表单设计
表单布局(QFormLayout)
拖动控件之间的边界(QSplitter)
信号与槽
信号(Signal)与槽(Slot)
自定义信号
- 信号与槽的连接与断开
可以传递多个参数的信号
为类添加多个信号
信号槽N对N连接与断开连接
为窗口类添加信号
多线程更新UI数据(在两个线程中传递数据)
信号与槽自动连接
使用Lambda表达式为槽函数传递参数
- 可用于向槽函数传递参数
使用Partial对象为槽函数传递参数
Override(覆盖)槽函数
多窗口交互(1):不使用信号与槽
多窗口交互(2):使用信号与槽
窗口
窗口、绘图与特效:设置窗口风格
- 设置窗口中控件的风格
设置窗口样式(主要是窗口边框、标题栏以及窗口本身的样式)
用代码控制窗口的最大化和最小化
项目实战:实现绘图应用
QSS基础
使用QSS选择器设置控件样式
QSS子控件选择器
窗口、绘图与特效:设置窗口风格
3种方式设置窗口背景色和背景图片
实现不规则窗口(异形窗口)
不规则窗体的动画实现
装载Gif动画
使用QSS为标签和按钮添加背景图
缩放图片
创建透明窗口
装载QSS文件
用动画效果改变窗口尺寸
用动画效果一不同速度移动窗口
扩展
使用Pyinstaller打包PyQt5应用
操作SQLite数据库
- DB Browser for SQLite 工具查看数据库