QFileDialog一些常用方法

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]
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值