如何从PyQt4中的文件打开对话框中获取文件或目录名称?

时间:2014-05-27 09:24:57

标签: pyqt4 gis

我正在编写一个PyQt4应用程序,我希望打开的其中一个文件类型是Esri Grid格式,而不是异常,它是一个目录。我还希望打开其他只是文件的GIS文件类型(例如geotiffs)。我可以使用GDAL库打开这些文件类型,方法是传递文件或目录名称,然后GDAL将其识别出来。

我遇到的问题是制作GUI。我想打开一个文件打开对话框并获取 文件名或目录名。问题是文件对话框不允许我选择仅限目录的文件。我需要对话框返回一个路径。我在Mac和Linux上试过它。

2 个答案:

答案 0 :(得分:0)

我知道PySide有一个名为getExistingDirectory的方法 http://pyside.github.io/docs/pyside/PySide/QtGui/QFileDialog.html

PyQt基本相同,所以它应该有类似的方法。 http://pyqt.sourceforge.net/Docs/PyQt4/qfiledialog.html它位于静态方法部分。

答案 1 :(得分:0)

我想我已经破解了它。此代码段测试我需要的功能:

dlg=QtGui.QFileDialog()
dlg.setFileMode(QtGui.QFileDialog.AnyFile);
e=dlg.exec_()
print dlg.selectedFiles()[0]

解决方案是将文件模式设置为'AnyFile'。这允许文件对话框返回目录和文件名。