欢迎访问宙启技术站
智能推送

文件浏览器-PyQt5.QtWidgets.QFileDialog

发布时间:2023-12-31 11:41:56

PyQt5.QtWidgets.QFileDialog是PyQt5中提供的一个文件浏览器的对话框类,可以用于选择文件或者保存文件。下面是一个带有使用例子的介绍:

首先,我们需要导入PyQt5库中的QFileDialog类:

from PyQt5.QtWidgets import QFileDialog

#### 打开文件对话框

使用QFileDialog.getOpenFileName()函数可以打开一个文件对话框,让用户选择一个或多个文件。该函数的返回值是一个元组,包含选择文件的文件名和文件类型。

file_name, _ = QFileDialog.getOpenFileName(self, "选择文件", "", "Text Files (*.txt);;All Files (*)")

上面的例子中, 个参数是对话框的父窗口,第二个参数是对话框的标题,第三个参数是对话框的默认打开路径,第四个参数是对话框中显示的文件类型过滤器。在上述例子中,我们设置了可以选择的文件类型为txt文件和所有文件。

#### 保存文件对话框

使用QFileDialog.getSaveFileName()函数可以打开一个文件保存对话框,让用户选择文件保存路径和文件名。该函数的返回值是一个元组,包含选择的文件保存的文件名和文件类型。

file_name, _ = QFileDialog.getSaveFileName(self, "保存文件", "", "Text Files (*.txt)")

上面的例子中, 个参数是对话框的父窗口,第二个参数是对话框的标题,第三个参数是对话框的默认保存路径,第四个参数是对话框中显示的文件类型过滤器。在上述例子中,我们设置了只能保存为txt文件。

#### 其他常用函数

除了getOpenFileName和getSaveFileName函数,QFileDialog还提供了其他一些常用函数,如:

- getExistingDirectory():打开一个选择文件夹的对话框,返回选择的文件夹路径。

dir_path = QFileDialog.getExistingDirectory(self, "选择文件夹", "C:/")

- getOpenFileNames():打开一个可以选择多个文件的对话框,返回选择的文件列表。

file_names, _ = QFileDialog.getOpenFileNames(self, "选择文件", "", "Text Files (*.txt);;All Files (*)")

- getSaveFileUrl():类似于getSaveFileName函数,但返回的是文件URL。

file_url = QFileDialog.getSaveFileUrl(self, "保存文件", "", "Text Files (*.txt)")

上述函数的使用和getOpenFileName和getSaveFileName类似,只是返回值的类型不同。