Python 第六节
2025-04-08
今日笔记稀少
一、PyQt
今日内容:布局管理器+文件对话框+信号+槽
(一)布局管理器
问题:之前我们创建界面的时候,在一个文件里面将所有永恒岛的空间全部加进去了
优化:分开,窗口分开,自定义组件
1、水平管理器
QHBoxLayout
自定一个类去继承QWidget → 袭击创建一个窗口类
在窗口类里面创建一个布局管理器
设置窗口的布局方式为你创建的布局管理器的方式
将创建的控件加入到布局管理器当中
2、竖直管理器
QVBoxLayout
(二)文件对话框
1、打开文件
QFileDialog.getOpenFileName(父级窗口, 对话框标题, 目录, 文件过滤器)
file_path, filters = QFileDialog.getOprnFileName(example_window, '选择文件', './images', '图片(*.jpg *.png);; 文本文件(*.txt)')
file_path 选择的文件路径
filters 所使用的文件过滤器
2、打开文件夹
dir_path = QFileDialog.getExistingDirectory(父级窗口, 对话框标题, 从哪个目录开始)
dir_path 你选择的文件夹路径
3、保存文件
使用场景:将文本或图片另存为的时候使用
实际上就是选择一个文件,将文本或者二进制数据写入到这个文件中
(三)信号和槽函数
当信号发出时,触发对应槽函数,也就是调用了
信号的类型有哪些
内置信号:clicked/textChanged/doubleClicked等
自定义信号:pyqtSingal()
(四)视图控件
列表视图
树形结构视图
表格视图
列表视图
如何创建:
QListView()
二、课后复习
(一)完善:图片查看器
运行截图
(二)扩展思考
思考下信号和槽函数的使用,以及如何跨窗口调用,以及槽函数能不能带参数
运行截图