2011-12-14 18 views
1

pyqtのFileDialogは、ユーザーからファイルの1つのパスを取得する優れた方法ですが、ユーザーから多数のファイルを選択する良い方法はありますか?PyQt:ユーザーからファイル名の大きなリストを取得するにはどうすればよいですか?

+0

をOSに応じて、ファイルダイアログはを可能にすべきです標準の 'Shift + Click'と' Ctrl + Click'を使った複数選択が可能です。 –

答えて

5

使用QFileDialog.getOpenFileNamesは、複数のファイルを選択するようにユーザーに許可する:

from PyQt4 import QtGui, QtCore 

class Window(QtGui.QWidget): 
    def __init__(self): 
     QtGui.QWidget.__init__(self) 
     layout = QtGui.QVBoxLayout(self) 
     self.button = QtGui.QPushButton('Select Files', self) 
     layout.addWidget(self.button) 
     self.button.clicked.connect(self.handleButton) 

    def handleButton(self): 
     title = self.button.text() 
     for path in QtGui.QFileDialog.getOpenFileNames(self, title): 
      print path 

if __name__ == '__main__': 

    import sys 
    app = QtGui.QApplication(sys.argv) 
    window = Window() 
    window.show() 
    sys.exit(app.exec_()) 
0

ユーザーがドラッグ&ドロップを使用してお気に入りのファイルブラウザから直接ファイルを追加できるようにすることをお勧めします。私は問題なくwxPythonの中でこれをしなかったとユーザーフィードバックはかなり良いですのよう:)

関連する問題