我正在尝试创建一个QFileDialog,允许用户选择多个目录。
根据这里的讨论here和这里的faq here,但我不确定我做错了什么。我得到了一个文件对话框,但它仍然只允许我选择单个目录(文件夹)。
这是在Windows 7上运行的。
代码:
class FileDialog(QtGui.QFileDialog):
def __init__(self, *args):
QtGui.QFileDialog.__init__(self, *args)
self.setOption(self.DontUseNativeDialog, True)
self.setFileMode(self.DirectoryOnly)
self.tree = self.findChild(QtGui.QTreeView)
self.tree.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
self.list = self.findChild(QtGui.QListView)
self.list.setSelectionMode(QtGui.QAbstractItemView.MultiSelection)
if __name__ == '__main__':
import sys
app = QtGui.QApplication(sys.argv)
ex = FileDialog()
ex.show()
sys.exit(app.exec_())
编辑:
经过进一步尝试,如果我在文件对话框中选择“详细视图”,多选功能可以正常工作。然而,如果我选择“列表视图”,它就无法正常工作。有任何想法为什么吗?
dialog.exec_()
。 - ekhumoroview.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)
。 - ekhumoro