繁体   English   中英

PyQt QFileDialog-获取多个目录的路径

[英]PyQt QFileDialog- get the path of multiple directories

但是我在这里找到了有关该主题的较早讨论,我不清楚如何获取所选文件夹的路径...

来自上述来源的组合代码如下......

class FileDialog(QtGui.QFileDialog):
    def __init__(self, *args):
        QtGui.QFileDialog.__init__(self, *args)
        self.setOption(self.DontUseNativeDialog, True)
        self.setFileMode(self.DirectoryOnly)

        for view in self.findChildren((QtGui.QListView, QtGui.QTreeView)):
            if isinstance(view.model(), QtGui.QFileSystemModel):
                view.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)

if __name__ == '__main__':
    import sys
    app = QtGui.QApplication(sys.argv)
    ex = FileDialog()
    ex.show()
    sys.exit(app.exec_())

它能够选择文件夹,有点我不知道如何将它们存储在容器中。

文件的选择很容易......就像

fileNames = QtGui.QFileDialog.getOpenFileNames(self,'Open Images','',selectedFilter='*.dcm')

我想用这样的东西,你能帮我吗?...对不起拇指问题。

我不明白你们是怎么做到的。 这是我尝试的代码,包括导入。 但是,在输出选定的文件夹后,它会挂起,这意味着有问题。

from PyQt5 import QtGui
from PyQt5 import QtWidgets

class FileDialog(QtWidgets.QFileDialog):
    def __init__(self, *args):
        QtWidgets.QFileDialog.__init__(self, *args)
        self.setOption(self.DontUseNativeDialog, True)
        self.setFileMode(self.DirectoryOnly)

        for view in self.findChildren((QtWidgets.QListView, QtWidgets.QTreeView)):
            if isinstance(view.model(), QtWidgets.QFileSystemModel):
                view.setSelectionMode(QtWidgets.QAbstractItemView.ExtendedSelection)

if __name__ == '__main__':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    ex = FileDialog()
    ex.show()
    ex.exec_()
    print(ex.selectedFiles())
    sys.exit(app.exec_())

ekhumuro 在此页面上提供了一个更新的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM