pyside2 QFileDialog 只显示png以及jpg的图片
时间: 2023-05-22 12:01:46 浏览: 248
答案:您可以使用以下代码来限制 QFileDialog 只显示 png 和 jpg 格式的图片:
```python
options = QFileDialog.Options()
options |= QFileDialog.DontUseNativeDialog
options |= QFileDialog.ReadOnly
options |= QFileDialog.ShowDirsOnly
options |= QFileDialog.DontResolveSymlinks
options |= QFileDialog.HideNameFilterDetails
formats = ["Images (*.png *.jpg)"]
file_name, _ = QFileDialog.getOpenFileName(None, "Open Image", "", ";;".join(formats), options=options)
```
这样,QFileDialog 就只会显示 png 和 jpg 格式的图片了。
相关问题
pyside2 QFileDialog取消反馈
以下是使用PySide2中的QFileDialog类创建一个自定义对话框,并实现取消按钮的反馈的示例代码:
```python
from PySide2.QtWidgets import QApplication, QDialog, QFileDialog, QPushButton, QVBoxLayout
class CustomDialog(QDialog):
def __init__(self):
super().__init__()
self.setWindowTitle("Custom Dialog")
self.layout = QVBoxLayout()
self.button = QPushButton("Open File")
self.button.clicked.connect(self.open_file_dialog)
self.layout.addWidget(self.button)
self.setLayout(self.layout)
def open_file_dialog(self):
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.AnyFile)
file_dialog.setAcceptMode(QFileDialog.AcceptOpen)
file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
if file_dialog.exec_() == QFileDialog.Accepted:
selected_files = file_dialog.selectedFiles()
print("Selected files:", selected_files)
else:
print("Dialog canceled")
if __name__ == "__main__":
app = QApplication([])
dialog = CustomDialog()
dialog.show()
app.exec_()
```
在这个示例中,我们创建了一个名为CustomDialog的自定义对话框类。在对话框中,我们添加了一个按钮,当按钮被点击时,会弹出一个文件选择对话框。如果用户选择了文件并点击了对话框的确定按钮,我们会打印出所选文件的路径。如果用户点击了对话框的取消按钮,我们会打印出"Dialog canceled"。
PySide2.QtWidgets.QFileDialog.getExistingDirectory(typing.Optional[PySide2.QtWidgets.QWidget] = None, str = '', str = '', PySide2.QtWidgets.QFileDialog.Options = PySide2.QtWidgets.QFileDialog.Option.ShowDirsOnly)
PySide2.QtWidgets.QFileDialog.getExistingDirectory是一个静态方法,用于打开一个对话框,以选择一个现有目录。该方法接受以下参数:
- parent: 父窗口小部件,用于指定对话框的父窗口。默认为None,表示没有父窗口。
- caption: 对话框标题,用于指定对话框上方的文本。默认为空字符串。
- dir: 默认目录,用于指定对话框中打开的目录。默认为空字符串。
- options: 用于指定对话框的选项。默认为PySide2.QtWidgets.QFileDialog.Option.ShowDirsOnly,表示只显示目录。
该方法返回一个字符串,表示用户选择的目录的路径。如果用户取消了选择,则返回空字符串。
以下是一个使用PySide2.QtWidgets.QFileDialog.getExistingDirectory方法的示例:
```python
import sys
from PySide2.QtWidgets import QApplication, QMainWindow, QFileDialog, QPushButton
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setWindowTitle('Directory Dialog Example')
button = QPushButton('Select Directory', self)
button.move(20, 20)
button.clicked.connect(self.selectDirectory)
self.setGeometry(300, 300, 300, 100)
def selectDirectory(self):
directory = QFileDialog.getExistingDirectory(self, 'Select Directory', '/home')
print(directory)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
```
在这个例子中,我们创建了一个QPushButton,并将其与MainWindow.selectDirectory方法相关联。当用户单击按钮时,该方法将打开一个对话框,用于选择一个现有目录。在用户选择目录后,将打印目录的路径。
阅读全文