QFileDialog一些常用方法

文章目录

  • QFileDialog
  • 1.1 getOpenFileName 获取文件目录
  • 1.2 getExistingDirectory:获取现有目录(文件夹)。
  • 1.3 getSaveFileName:获取要保存的文件的名称和位置

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]

你可能感兴趣的:(PyQt,宠物狗嘴套检测系统,qt)