文章目录
QFileDialog
QFileDialog是QWidget的一个方法, pyqt5官网
1.1 getOpenFileName 获取文件目录
QtWidgets.QFileDialog.getOpenFileName是一个使用Qt界面库的Python函数,用于打开一个文件对话框,提示用户选择文件并返回所选文件的路径。它的基本用法如下:
@staticmethod
getOpenFileName(parent: QWidget = None,
caption: str = '',
directory: str = '',
filter: str = '', initialFilter: str = '',
options: Union[Options, Option] = 0) → Tuple[str, str]
filename, _ = QtWidgets.QFileDialog.getOpenFileName(None, "Select File", "", "Text Files (*.txt)")
- 第一个参数是指定父窗口,这里使用None表示无父窗口;
- 第二个参数是对话框的标题;
- 第三个参数是指定起始目录;
- 第四个参数是指定过滤器,以此限制用户可以选择的文件类型。多个过滤条件用;;隔开。
- 函数返回一个元组,其中第一个元素是用户选择的文件完整路径,如果用户取消选择则返回空字符串。
- 该函数返回一个元组,包含两个值:
– 所选文件所在的完整路径(字符串类型)
– 用户选择的过滤器(字符串类型), 也就是文件的扩展名,后缀名
– 如果用户取消了文件选择操作,则返回值为(‘’, ‘’)。
具体实例
self.img_name, _ = QtWidgets.QFileDialog.getOpenFileName(self, "打开图片", r"D:\dog_picture\YOLO_dog_mask\images\test",
"*.jpg;;*.png;;All Files(*)")
返回空值
如果用户在文件选择对话框中选择了"取消"或关闭了对话框,则该函数会返回一个空字符串(“”)构成的元组,即(‘’, ‘’)。可以通过判断函数返回值是否为空元组,来确定用户是否选择了文件。例如:
filename, _ = QtWidgets.QFileDialog.getOpenFileName(None, "Select File", "", "Text Files (*.txt)")
if filename:
# 用户选择了文件,执行相应的操作
else:
# 用户取消了文件选择操作,不执行操作
1.2 getExistingDirectory:获取现有目录(文件夹)。
这是一个使用Qt界面库的Python语句,用于获取用户选择的文件夹路径。它的参数含义如下:
@staticmethod
getExistingDirectory(parent: QWidget = None,
caption: str = '',
directory: str = '',
options: Union[Options, Option] = ShowDirsOnly) → str # 返回的值
- self:表示当前使用它的窗口。父集
- “选择文件夹”:对话框标题。
- “runs/detect”:默认使用的目录。
- 它所返回的值是一个字符串,代表用户选择的文件夹路径。如果用户取消了文件夹选择操作,则返回一个空字符串(“”)。
具体实例
save_dir = QtWidgets.QFileDialog.getExistingDirectory(self, "选择文件夹", "runs/detect")
1.3 getSaveFileName:获取要保存的文件的名称和位置
@staticmethod
getSaveFileUrl(parent: QWidget = None,
caption: str = '',
directory: QUrl = QUrl(),
filter: str = '', initialFilter: str = '',
options: Union[Options, Option] = 0,
supportedSchemes: Iterable[str] = []) → Tuple[QUrl, str]