我正在编写一个PyQt4应用程序,我希望打开的其中一个文件类型是Esri Grid格式,而不是异常,它是一个目录。我还希望打开其他只是文件的GIS文件类型(例如geotiffs)。我可以使用GDAL库打开这些文件类型,方法是传递文件或目录名称,然后GDAL将其识别出来。
我遇到的问题是制作GUI。我想打开一个文件打开对话框并获取 文件名或目录名。问题是文件对话框不允许我选择仅限目录的文件。我需要对话框返回一个路径。我在Mac和Linux上试过它。
答案 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'。这允许文件对话框返回目录和文件名。