使文件对话框仅接受目录

mat*_*att 5 python filedialog qt4 pyqt4

我想要一个文件对话框只允许目录,这是我一直在尝试的:

fileDialog = QtGui.QFileDialog()
fileDialog.setFileMode(QtGui.QFileDialog.ShowDirsOnly)
filename = fileDialog.getOpenFileName(self, 'Select USB Drive Location'))
Run Code Online (Sandbox Code Playgroud)

mat*_*att 6

我想要的是:

directory = QtGui.QFileDialog.getExistingDirectory(self, 'Select USB Drive Location')
Run Code Online (Sandbox Code Playgroud)


小智 6

我知道这是一个老问题,但也许这会帮助别人.

在调用的方法中使用此代码段来显示文件框:

dialog = QtGui.QFileDialog(self)
dialog.setFileMode(QtGui.QFileDialog.Directory)
dialog.setOption(QtGui.QFileDialog.ShowDirsOnly, True)

if dialog.exec_():
    for d in dialog.selectedFiles():
        print d
Run Code Online (Sandbox Code Playgroud)


Wil*_*ean 1

ShowDirsOnly 的 Qt 4.6 文档说:

“在文件对话框中仅显示目录。默认情况下,文件和目录都会显示。(仅在目录文件模式下有效。)”

也许它不是处于“目录”文件模式?