QFileDialog打开多个文件
时间: 2023-08-03 22:03:07 浏览: 89
你可以使用QFileDialog的getOpenFileNames方法,该方法可以返回用户选择的多个文件的文件名列表。
以下是一个简单的示例代码:
```python
from PyQt5.QtWidgets import QApplication, QFileDialog
app = QApplication([])
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.ExistingFiles)
file_names = file_dialog.getOpenFileNames()[0]
print(file_names)
```
在这个示例中,我们将文件对话框的文件模式设置为ExistingFiles,这样用户就可以选择多个现有文件。然后,我们调用getOpenFileNames方法来获取用户选择的文件名列表,并打印它们。
注意,getOpenFileNames方法返回的是一个元组,其中第一个元素是文件名列表,第二个元素是过滤器字符串,我们只需要获取文件名列表,因此使用[0]索引来获取它。
相关问题
qfiledialog选择多个文件
您好,可以使用QFileDialog::getOpenFileNames来选择多个文件。示例代码如下:
```
QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Select Files"), QDir::homePath(), tr("Images (*.png *.xpm *.jpg);;All Files (*)"));
if (!fileNames.isEmpty()) {
// 处理选择的文件列表
}
```
其中,第一个参数为对话框的父窗口,第二个参数为对话框的标题,第三个参数为默认打开的文件夹路径,第四个参数为文件过滤器,用于限制用户只能选择哪些类型的文件。选择的文件列表将会返回给fileNames变量,您可以根据需要对其进行处理。
python实现QFileDialog选择多个文件
在Python中使用QFileDialog选择多个文件,需要使用`QFileDialog`类的`getOpenFileNames()`方法。以下是一个示例代码:
```python
from PyQt5.QtWidgets import QApplication, QFileDialog
app = QApplication([])
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.ExistingFiles)
files, _ = file_dialog.getOpenFileNames()
print(files)
app.exec_()
```
在这个代码中,我们创建了一个`QFileDialog`对象,然后设置其文件模式为`ExistingFiles`,以允许用户选择多个文件。然后使用`getOpenFileNames()`方法来打开文件对话框,该方法将返回一个元组,其中第一个元素是一个字符串列表,包含所有选择的文件路径。我们将这个列表打印出来。
请注意,我们还需要创建一个`QApplication`对象,以确保我们的Qt应用程序能够正常运行。如果你的代码已经运行在一个Qt应用程序中,就不需要再创建一个新的`QApplication`对象了。
阅读全文