如何使用QFileDialog知道要保存的文件类型

2024-05-13 11:02:37 发布

您现在位置:Python中文网/ 问答频道 /正文

关于pyQt4

我更喜欢使用QFileDialog中getSaveFilename的静态方法,这样用户就可以看到Windows/Mac本地对话框。

我的问题是,如果用户没有在保存文件名中键入文件扩展名(例如,在选择要将文件另存为的图像类型时),则我无法检查他们要将文件另存为哪种类型。

如何创建一个对话框来保存带有筛选器的文件,以及如何知道用户选择了哪个筛选器?

例如:

files_types = "GML (*.gml);;Pickle (*.pickle);;YAML (*.yml)"
file = QtGui.QFileDialog.getSaveFileName(self, 'Save file', '', files_types)

有了var文件,我将只有文件的路径,但我不确定用户选择的格式是什么。

所以,我想知道如何得到扩展名,或者用户选择的文件类型。 是否可以使用此方法获取selectedFilter?

非常感谢!


Tags: 文件用户图像类型键入文件名windowsmac
2条回答

不可能。

唯一的方法是创建一个通用的对话框,但是另一方面,您将丢失漂亮的本地窗口。

您可以使用getSaveFileNameAndFilter()方法:

filename, filter = QtGui.QFileDialog.getSaveFileNameAndFilter(self, 'Save file', '', files_types)

(然而,在PySide中,getSaveFileNameAndFilter()不存在,并且getSaveFileName()已经这样做了。我不确定PyQT api版本2(Python 3的默认版本)是否也是这种情况

相关问题 更多 >