python – PyQt – QFileDialog – 直接浏览到一个文件夹?

有没有办法直接浏览到使用QFileDialog的文件夹?

这意味着,不是在导航到目标文件夹时双击每个文件夹,只需在某处输入路径或使用Mac OS X上的Finder中的热键(Shift命令G).

谢谢!

编辑:(我的代码)

    filter = "Wav File (*.wav)"
    self._audio_file = QtGui.QFileDialog.getOpenFileName(self, "Audio File",
                                                        "/myfolder/folder", filter)
    self._audio_file = str(self._audio_file)

最佳答案 如果使用静态QFileDialog函数,您将获得本机文件对话框,因此您将受限于平台提供的功能.您可以查阅适用于您的平台的文档,以了解您所需的功能是否可用.

如果它不可用,你将不得不接受Qt的内置文件对话框,并添加自己的功能.对于您的特定用例,这应该很简单,因为内置对话框似乎已经拥有您想要的内容.它有一个side-bar,显示用户可以直接导航到的“位置”列表.您可以像这样设置自己的地方:

dialog = QtGui.QFileDialog(self, 'Audio Files', directory, filter)
dialog.setFileMode(QtGui.QFileDialog.DirectoryOnly)
dialog.setSidebarUrls([QtCore.QUrl.fromLocalFile(place)])
if dialog.exec_() == QtGui.QDialog.Accepted:
    self._audio_file = dialog.selectedFiles()[0]
点赞