1

を使用PyKDE4.kioして、使用できる複数のファイルを選択しますKFileDialog.getOpenFileNames(の代わりにKFileDialog.getOpenFileName)。複数のディレクトリを選択したい場合はどうすればよいですか? しかありませんKFileDialog.getExistingDirectory

KFileDialog.getOpenFileNames(filter = 'inode/directory')複数のフォルダを使用して選択すると、次のエラーが表示されます。

複数のフォルダが選択されており、このダイアログはフォルダを受け入れないため、入力するフォルダを決定できません。リストするフォルダを 1 つだけ選択してください。

4

1 に答える 1

4

qtcentre.org で JohannesMunkから解決策を見つけ、それを python に翻訳しました

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())
于 2013-09-10T21:49:43.287 に答える