1

pyqt 中的 FileDialog 是一种从用户那里获取文件路径的好方法,但是有没有一种从用户那里获取大量文件选择的好方法呢?

4

2 回答 2

6

使用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_())
于 2011-12-14T03:09:37.187 回答
0

我建议您让用户使用拖放功能直接从他们喜欢的文件浏览器中添加文件。正如我在 wxpython 中所做的那样,没有任何麻烦,并且用户反馈非常好:)

于 2011-12-14T01:21:08.913 回答