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 工具查看数据库
使用可视化的方式对SQLite数据库进行增、删、改、查操作

分页显示数据

使用PyQtGraph绘图
