-
QString getOpenFileName (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), Options options = 0)
-
QString getOpenFileName (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), QString selectedFilter = None, Options options = 0)
-
(QString, QString) getOpenFileNameAndFilter (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), QString initialFilter = QString(), Options options = 0)
-
QStringList getOpenFileNames (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), Options options = 0)
-
QStringList getOpenFileNames (QWidget parent = None, QString caption = QString(), QString directory = QString(), QString filter = QString(), QString selectedFilter = None, Options options = 0)
If you omit the dir
argument (or pass in an empty string), the dialog should remember the last directory:
filename = QtGui.QFileDialog.getOpenFileName(
parent, 'Open File', '', 'Images (*.png *.xpm *.jpg)')
The tr function is used for translating user-visible strings. You can omit it if you won't ever be providing translations for your application.
EDIT:
It seems that the start directory may not be automatically remembered on all platforms/desktops, depending on whether you use the native dialog or not. If Qt's built-in dialog is used, the start directory should always be automatically remebered on all platforms (even between invokations of the application). To try the non-native dialog, do:
filename = QtGui.QFileDialog.getOpenFileName(
parent, 'Open File', '', 'Images (*.png *.xpm *.jpg)',None, QtGui.QFileDialog.DontUseNativeDialog)
Alternatively, you can use the QFileDialog constructor, which will always create a non-native dialog:
dialog = QtGui.QFileDialog(parent)
dialog.setWindowTitle('Open File')
dialog.setNameFilter('Images (*.png *.xpm *.jpg)')
dialog.setFileMode(QtGui.QFileDialog.ExistingFile)if dialog.exec_() == QtGui.QDialog.Accepted:
filename = dialog.selectedFiles()[0]
filename = QtGui.QFileDialog.getOpenFileName(
parent, 'Open File', '', 'Images (*.png *.xpm *.jpg)',QtGui.QFileDialog.DontUseNativeDialog)