首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用KFileDialog选择多个目录?

如何使用KFileDialog选择多个目录?
EN

Stack Overflow用户
提问于 2013-09-09 21:23:41
回答 1查看 1.9K关注 0票数 1

使用PyKDE4.kio来选择多个文件,我可以使用KFileDialog.getOpenFileNames (而不是KFileDialog.getOpenFileName)。如果我想选择多个目录,我能做什么?只有KFileDialog.getExistingDirectory

使用KFileDialog.getOpenFileNames(filter = 'inode/directory')并选择多个文件夹显示了一个错误:

已经选择了多个文件夹,并且此对话框不接受文件夹,因此无法决定输入哪个文件夹。请只选择一个文件夹来列出它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-10 21:49:43

我从JohannesMunk on qtcentre.org找到了一个解决方案,并把它翻译成python。

代码语言:javascript
复制
import sys
from PyQt5.QtWidgets import (QFileDialog, QAbstractItemView, QListView,
                             QTreeView, QApplication, QDialog)

class getExistingDirectories(QFileDialog):
    def __init__(self, *args):
        super(getExistingDirectories, self).__init__(*args)
        self.setOption(self.DontUseNativeDialog, True)
        self.setFileMode(self.Directory)
        self.setOption(self.ShowDirsOnly, True)
        self.findChildren(QListView)[0].setSelectionMode(QAbstractItemView.ExtendedSelection)
        self.findChildren(QTreeView)[0].setSelectionMode(QAbstractItemView.ExtendedSelection)

qapp = QApplication(sys.argv)
dlg = getExistingDirectories()
if dlg.exec_() == QDialog.Accepted:
    print(dlg.selectedFiles())
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18707261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档