QFileDialog.getOpenFileName filter选择图片后缀
时间: 2023-06-28 11:08:08 浏览: 167
你可以在 `QFileDialog.getOpenFileName` 中设置 `filter` 参数来筛选图片后缀。以下是示例代码:
```python
from PyQt5.QtWidgets import QApplication, QFileDialog
app = QApplication([])
file_path, _ = QFileDialog.getOpenFileName(None, "选择图片", "", "图片文件 (*.png *.jpg *.bmp)")
print(file_path)
```
在上面的示例中,我们设置了 `filter` 参数为 `"图片文件 (*.png *.jpg *.bmp)"`,这样在文件选择对话框中只会显示这三种格式的图片文件。你可以根据需要更改参数值来筛选其他后缀的文件。
相关问题
QFileDialog.getOpenFileName filter过滤多个文件
可以使用分号将多个文件类型的过滤器进行分隔,例如:
```python
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
file_types = "Text Files (*.txt);;Python Files (*.py);;All Files (*)"
file_name, _ = QFileDialog.getOpenFileName(parent, "Select a file", "", file_types, options=options)
```
在上面的例子中,`file_types`变量包含了三个文件类型过滤器,通过分号进行分隔。第一个过滤器是“Text Files (*.txt)”,第二个是“Python Files (*.py)”,第三个是“All Files (*)”。可以根据需要添加或删除过滤器。
filePath, _ = QFileDialog.getOpenFileName( TypeError: 'PySide2.QtWidgets.QFileDialog.getOpenFileName' called with wrong argument types: PySide2.QtWidgets.QFileDialog.getOpenFileName(Ui_Form2, str, str, str) Supported signatures: PySide2.QtWidgets.QFileDialog.getOpenFileName(typing.Optional[PySide2.QtWidgets.QWidget] = None, str = '', str = '', str = '', PySide2.QtWidgets.QFileDialog.Options = Default(QFileDialog.Options)) Process finished with exit code 0
这个错误是因为你在调用 `QFileDialog.getOpenFileName()` 函数时传入了错误的参数类型。正确的调用方式是:
```python
filePath, _ = QFileDialog.getOpenFileName(None, "选择文件", "", "All Files (*);;Text Files (*.txt)")
```
其中第一个参数是父窗口,可以传入 `None`;第二个参数是对话框标题;第三个参数是默认打开的目录,可以传入空字符串;第四个参数是文件过滤器,用来限制用户只能选择哪些类型的文件。以上示例中的文件过滤器允许用户选择所有类型的文件,以及扩展名为 `.txt` 的文本文件。
希望这可以帮助你解决问题。
阅读全文