我希望用户能够选择多个文件夹,然后将这些文件夹的路径存储在列表中。
我怎样才能做到这一点?我当前的 QFileDialog 如下所示:
str = QtGui.QFileDialog.getExistingDirectory(self, "Open Directory", /folder/subfolder, QtGui.QFileDialog.DontResolveSymlinks)
但当然,它只允许我选择一个文件夹。如何更改它以选择多个文件夹并将它们返回到列表中?
据我所知,您无法使用本机 FileDialog 来做到这一点。
但是,存在一种不使用本机对话框的解决方法:
file_dialog = QFileDialog()
file_dialog.setFileMode(QFileDialog.DirectoryOnly)
file_dialog.setOption(QFileDialog.DontUseNativeDialog, True)
file_view = file_dialog.findChild(QListView, 'listView')
# to make it possible to select multiple directories:
if file_view:
file_view.setSelectionMode(QAbstractItemView.MultiSelection)
f_tree_view = file_dialog.findChild(QTreeView)
if f_tree_view:
f_tree_view.setSelectionMode(QAbstractItemView.MultiSelection)
if file_dialog.exec():
paths = file_dialog.selectedFiles():
然而,这种解决方法有点笨拙,但这是我所知道的除了滚动您自己的自定义对话框之外的最佳解决方案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)