KFileDialog Class Reference
from PyKDE4.kio import *
Inherits: KDialog → QDialog → QWidget → QObject
Detailed Description
Provides a user (and developer) friendly way to select files and directories.
The widget can be used as a drop in replacement for the QFileDialog widget, but has greater functionality and a nicer GUI.
You will usually want to use one of the static methods getOpenFileName(), getSaveFileName(), getOpenUrl() or for multiple files getOpenFileNames() or getOpenUrls().
The dialog has been designed to allow applications to customize it by subclassing. It uses geometry management to ensure that subclasses can easily add children that will be incorporated into the layout.
"KDE File Dialog"
A file selection dialog.
Enumerations | |
OperationMode | { Other, Opening, Saving } |
Option | { ConfirmOverwrite, ShowInlinePreview } |
Signals | |
fileHighlighted (QString a0) | |
fileHighlighted (KUrl a0) | |
fileSelected (QString a0) | |
fileSelected (KUrl a0) | |
filterChanged (QString filter) | |
selectionChanged () | |
Methods | |
__init__ (self, KUrl startDir, QString filter, QWidget parent, QWidget widget=0) | |
__init__ (self, KFileDialog a0) | |
accept (self) | |
KActionCollection | actionCollection (self) |
KUrl | baseUrl (self) |
KPushButton | cancelButton (self) |
clearFilter (self) | |
QString | currentFilter (self) |
KSharedPtr | currentFilterMimeType (self) |
QString | currentMimeFilter (self) |
KAbstractFileWidget | fileWidget (self) |
KFileFilterCombo | filterWidget (self) |
hideEvent (self, QHideEvent event) | |
bool | keepsLocation (self) |
keyPressEvent (self, QKeyEvent e) | |
KUrlComboBox | locationEdit (self) |
KFile.Modes | mode (self) |
KPushButton | okButton (self) |
KFileDialog.OperationMode | operationMode (self) |
QString | selectedFile (self) |
QStringList | selectedFiles (self) |
KUrl | selectedUrl (self) |
KUrl.List | selectedUrls (self) |
setConfirmOverwrite (self, bool enable) | |
setFilter (self, QString filter) | |
setInlinePreviewShown (self, bool show) | |
setKeepLocation (self, bool keep) | |
setLocationLabel (self, QString text) | |
setMimeFilter (self, QStringList types, QString defaultType=QString()) | |
setMode (self, KFile.Modes m) | |
setOperationMode (self, KFileDialog.OperationMode a0) | |
setPreviewWidget (self, KPreviewWidgetBase w) | |
setSelection (self, QString name) | |
setUrl (self, KUrl url, bool clearforward=1) | |
QSize | sizeHint (self) |
slotCancel (self) | |
slotOk (self) | |
KToolBar | toolBar (self) |
Static Methods | |
QString | getExistingDirectory (KUrl startDir=KUrl(), QWidget parent=0, QString caption=QString()) |
KUrl | getExistingDirectoryUrl (KUrl startDir=KUrl(), QWidget parent=0, QString caption=QString()) |
KUrl | getImageOpenUrl (KUrl startDir=KUrl(), QWidget parent=0, QString caption=QString()) |
QString | getOpenFileName (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
QString | getOpenFileNameWId (KUrl startDir, QString filter, int parent_id, QString caption) |
QStringList | getOpenFileNames (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
KUrl | getOpenUrl (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
KUrl.List | getOpenUrls (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
QString | getSaveFileName (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
QString | getSaveFileName (KUrl startDir, QString filter, QWidget parent, QString caption, KFileDialog.Options options) |
QString | getSaveFileNameWId (KUrl startDir, QString filter, int parent_id, QString caption) |
QString | getSaveFileNameWId (KUrl startDir, QString filter, int parent_id, QString caption, KFileDialog.Options options) |
KUrl | getSaveUrl (KUrl startDir=KUrl(), QString filter=QString(), QWidget parent=0, QString caption=QString()) |
KUrl | getSaveUrl (KUrl startDir, QString filter, QWidget parent, QString caption, KFileDialog.Options options) |
KUrl | getStartUrl (KUrl startDir, QString recentDirClass) |
setStartDir (KUrl directory) |
Signal Documentation
fileHighlighted | ( | QString | a0 | |
) |
@deprecated, connect to fileSelected(const KUrl&) instead
- Signal syntax:
QObject.connect(source, SIGNAL("fileHighlighted(const QString&)"), target_slot)
fileHighlighted | ( | KUrl | a0 | |
) |
@deprecated, connect to fileSelected(const KUrl&) instead
- Signal syntax:
QObject.connect(source, SIGNAL("fileHighlighted(const KUrl&)"), target_slot)
fileSelected | ( | QString | a0 | |
) |
@deprecated, connect to fileSelected(const KUrl&) instead
- Signal syntax:
QObject.connect(source, SIGNAL("fileSelected(const QString&)"), target_slot)
fileSelected | ( | KUrl | a0 | |
) |
@deprecated, connect to fileSelected(const KUrl&) instead
- Signal syntax:
QObject.connect(source, SIGNAL("fileSelected(const KUrl&)"), target_slot)
filterChanged | ( | QString | filter | |
) |
Emitted when the filter changed, i.e. the user entered an own filter or chose one of the predefined set via setFilter().
- Parameters:
-
filter contains the new filter (only the extension part, not the explanation), i.e. "*.cpp" or "*.cpp *.cc".
- See also:
- setFilter()
- See also:
- currentFilter()
- Signal syntax:
QObject.connect(source, SIGNAL("filterChanged(const QString&)"), target_slot)
selectionChanged | ( | ) |
Emitted when the user hilights one or more files in multiselection mode.
Note: fileHighlighted() or fileSelected() are not emitted in multiselection mode. You may use selectedItems() to ask for the current highlighted items.
- See also:
- fileSelected
- Signal syntax:
QObject.connect(source, SIGNAL("selectionChanged()"), target_slot)
Method Documentation
__init__ | ( | self, | ||
KUrl | startDir, | |||
QString | filter, | |||
QWidget | parent, | |||
QWidget | widget=0 | |||
) |
Constructs a file dialog.
- Parameters:
-
startDir Specifies the starting directory and/or initially selected file name, or a last used directory and optional file name using the kfiledialog: syntax. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. For better consistency across applications, it is recommended to use a mimetype filter. See setFilter() and setMimeFilter() for details on how to use this argument. parent The parent widget of this dialog widget A widget, or a widget of widgets, for displaying custom data in the dialog. This can be used, for example, to display a check box with the caption "Open as read-only". When creating this widget, you don't need to specify a parent, since the widget's parent will be set automatically by KFileDialog.
- See also:
- KFileWidget.KFileWidget()
__init__ | ( | self, | ||
KFileDialog | a0 | |||
) |
accept | ( | self ) |
KActionCollection actionCollection | ( | self ) |
- Returns:
- a pointer to the action collection, holding all the used KActions.
KUrl baseUrl | ( | self ) |
- Returns:
- the currently shown directory.
KPushButton cancelButton | ( | self ) |
- Returns:
- a pointer to the Cancel-Button in the filedialog. You may use it e.g. to set a custom text to it.
clearFilter | ( | self ) |
Clears any mime- or namefilter. Does not reload the directory.
QString currentFilter | ( | self ) |
Returns the current filter as entered by the user or one of the predefined set via setFilter().
- See also:
- setFilter()
- See also:
- filterChanged()
KSharedPtr |
( | self ) |
Returns the mimetype for the desired output format.
This is only valid if setMimeFilter() has been called previously.
- See also:
- setFilterMimeType()
QString currentMimeFilter | ( | self ) |
The mimetype for the desired output format.
This is only valid if setMimeFilter() has been called previously.
- See also:
- setMimeFilter()
KAbstractFileWidget fileWidget | ( | self ) |
Returns the KFileWidget that implements most of this file dialog. If you link to libkfile you can cast this to a KFileWidget*.
KFileFilterCombo filterWidget | ( | self ) |
- Returns:
- the combobox that contains the filters You need to link to libkfile to use this widget.
hideEvent | ( | self, | ||
QHideEvent | event | |||
) |
Reimplemented for saving the dialog geometry.
bool keepsLocation | ( | self ) |
- Returns:
- whether the contents of the location edit are kept when changing directories.
keyPressEvent | ( | self, | ||
QKeyEvent | e | |||
) |
Reimplemented to animate the cancel button.
KUrlComboBox locationEdit | ( | self ) |
- Returns:
- the combobox used to type the filename or full location of the file. You need to link to libkfile to use this widget.
KFile.Modes mode | ( | self ) |
Returns the mode of the filedialog.
- See also:
- setMode()
KPushButton okButton | ( | self ) |
- Returns:
- a pointer to the OK-Button in the filedialog. You may use it e.g. to set a custom text to it.
KFileDialog.OperationMode operationMode | ( | self ) |
- Returns:
- the current operation mode, Opening, Saving or Other. Default is Other.
- See also:
- operationMode
- See also:
- KFileDialog.OperationMode
QString selectedFile | ( | self ) |
Returns the full path of the selected file in the local filesystem. (Local files only)
QStringList selectedFiles | ( | self ) |
Returns a list of all selected local files.
KUrl selectedUrl | ( | self ) |
- Returns:
- The selected fully qualified filename.
KUrl.List selectedUrls | ( | self ) |
- Returns:
- The list of selected URLs.
setConfirmOverwrite | ( | self, | ||
bool | enable | |||
) |
Sets whether the dialog should ask before accepting the selected file when KFileDialog.OperationMode is set to Saving.
In this case a KMessageBox appears for confirmation.
- Parameters:
-
enable Set this to true to enable checking.
- Since:
- 4.2
setFilter | ( | self, | ||
QString | filter | |||
) |
Sets the filter to be used to filter.
The filter can be either set as a space-separated list of mimetypes, which is recommended, or as a list of shell globs separated by '\\n'.
If the filter contains an unescaped '/', a mimetype filter is assumed. If you would like a '/' visible in your filter it can be escaped with a '\'. You can specify multiple mimetypes like this (separated with space):
kfile->setFilter( "image/png text/html text/plain" );
When showing the filter to the user, the mimetypes will be automatically translated into their description like `PNG image'. Multiple mimetypes will be automatically summarized to a filter item `All supported files'. To add a filter item for all files matching '*', add all/allfiles as mimetype.
If the filter contains no unescaped '/', it is assumed that the filter contains conventional shell globs. Several filter items to select from can be separated by '\\n'. Every filter entry is defined through namefilter|text to display. If no '|' is found in the expression, just the namefilter is shown. Examples:
kfile->setFilter("*.cpp|C++ Source Files\n*.h|Header files"); kfile->setFilter("*.cpp"); kfile->setFilter("*.cpp|Sources (*.cpp)"); kfile->setFilter("*.cpp|" + i18n("Sources (*.cpp)")); kfile->setFilter("*.cpp *.cc *.C|C++ Source Files\n*.h *.H|Header files");
Note: The text to display is not parsed in any way. So, if you want to show the suffix to select by a specific filter, you must repeat it.
For better consistency across applications, it is recommended to use a mimetype filter.
- See also:
- filterChanged
- See also:
- setMimeFilter
setInlinePreviewShown | ( | self, | ||
bool | show | |||
) |
Forces the inline previews to be shown or hidden, depending on show.
- Parameters:
-
show Whether to show inline previews or not.
- Since:
- 4.2
setKeepLocation | ( | self, | ||
bool | keep | |||
) |
Sets whether the filename/url should be kept when changing directories. This is for example useful when having a predefined filename where the full path for that file is searched.
This is implicitly set when operationMode() is KFileDialog.Saving
getSaveFileName() and getSaveUrl() set this to true by default, so that you can type in the filename and change the directory without having to type the name again.
setLocationLabel | ( | self, | ||
QString | text | |||
) |
Sets the text to be displayed in front of the selection.
The default is "Location". Most useful if you want to make clear what the location is used for.
setMimeFilter | ( | self, | ||
QStringList | types, | |||
QString | defaultType=QString() | |||
) |
Sets the filter up to specify the output type.
- Parameters:
-
types a list of mimetypes that can be used as output format defaultType the default mimetype to use as output format, if any. If defaultType is set, it will be set as the current item. Otherwise, a first item showing all the mimetypes will be created. Typically, defaultType should be empty for loading and set for saving.
Do not use in conjunction with setFilter()
setMode | ( | self, | ||
KFile.Modes | m | |||
) |
Sets the mode of the dialog.
The mode is defined as (in kfile.h):
enum Mode { File = 1, Directory = 2, Files = 4, ExistingOnly = 8, LocalOnly = 16 };You can OR the values, e.g.
KFile.Modes mode = KFile.Files | KFile.ExistingOnly | KFile.LocalOnly ); setMode( mode );
setOperationMode | ( | self, | ||
KFileDialog.OperationMode | a0 | |||
) |
Sets the operational mode of the filedialog to Saving, Opening or Other. This will set some flags that are specific to loading or saving files. E.g. setKeepLocation() makes mostly sense for a save-as dialog. So setOperationMode( KFileDialog.Saving ); sets setKeepLocation for example.
The mode Saving, together with a default filter set via setMimeFilter() will make the filter combobox read-only.
The default mode is Opening.
Call this method right after instantiating KFileDialog.
- See also:
- operationMode
- See also:
- KFileDialog.OperationMode
setPreviewWidget | ( | self, | ||
KPreviewWidgetBase | w | |||
) |
Adds a preview widget and enters the preview mode.
In this mode the dialog is split and the right part contains your preview widget.
Ownership is transferred to KFileDialog. You need to create the preview-widget with "new", i.e. on the heap.
- Parameters:
-
w The widget to be used for the preview.
setSelection | ( | self, | ||
QString | name | |||
) |
Sets the file name to preselect to name
This takes absolute URLs and relative file names.
setUrl | ( | self, | ||
KUrl | url, | |||
bool | clearforward=1 | |||
) |
Sets the directory to view.
- Parameters:
-
url URL to show. clearforward Indicates whether the forward queue should be cleared.
QSize sizeHint | ( | self ) |
- See also:
- QWidget.sizeHint()
slotCancel | ( | self ) |
slotOk | ( | self ) |
KToolBar toolBar | ( | self ) |
Returns a pointer to the toolbar.
You can use this to insert custom items into it, e.g.:
yourAction = new KAction( i18n("Your Action"), 0, this, SLOT( yourSlot() ), this, "action name" ); yourAction->plug( kfileDialog->toolBar() );
Static Method Documentation
QString getExistingDirectory | ( | KUrl | startDir=KUrl(), | |
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal directory-selection dialog and returns the selected directory (local only) or an empty string if none was chosen.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- Returns:
- the path to an existing local directory.
- See also:
- KFileWidget.KFileWidget()
Creates a modal directory-selection dialog and returns the selected directory or an empty string if none was chosen. This version supports remote urls.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- Returns:
- the url to an existing directory (local or remote).
- See also:
- KFileWidget.KFileWidget()
Creates a modal file dialog with an image previewer and returns the selected url or an empty string if none was chosen.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- See also:
- KFileWidget.KFileWidget()
QString getOpenFileName | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and return the selected filename or an empty string if none was chosen.
Note that with this method the user must select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- See also:
- KFileWidget.KFileWidget()
QString getOpenFileNameWId | ( | KUrl | startDir, | |
QString | filter, | |||
int | parent_id, | |||
QString | caption | |||
) |
Use this version only if you have no QWidget available as parent widget. This can be the case if the parent widget is a widget in another process or if the parent widget is a non-Qt widget. For example, in a GTK program.
QStringList getOpenFileNames | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and returns the selected filenames or an empty list if none was chosen.
Note that with this method the user must select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- See also:
- KFileWidget.KFileWidget()
KUrl getOpenUrl | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and returns the selected URL or an empty string if none was chosen.
Note that with this method the user must select an existing URL.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- See also:
- KFileWidget.KFileWidget()
KUrl.List getOpenUrls | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and returns the selected URLs or an empty list if none was chosen.
Note that with this method the user must select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget.
- See also:
- KFileWidget.KFileWidget()
QString getSaveFileName | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.
Note that with this method the user need not select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget. options Dialog options.
- See also:
- KFileWidget.KFileWidget()
- Since:
- 4.4
QString getSaveFileName | ( | KUrl | startDir, | |
QString | filter, | |||
QWidget | parent, | |||
QString | caption, | |||
KFileDialog.Options | options | |||
) |
Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.
Note that with this method the user need not select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget. options Dialog options.
- See also:
- KFileWidget.KFileWidget()
- Since:
- 4.4
QString getSaveFileNameWId | ( | KUrl | startDir, | |
QString | filter, | |||
int | parent_id, | |||
QString | caption | |||
) |
This function accepts the window id of the parent window, instead of QWidget*. It should be used only when necessary.
- Since:
- 4.4
QString getSaveFileNameWId | ( | KUrl | startDir, | |
QString | filter, | |||
int | parent_id, | |||
QString | caption, | |||
KFileDialog.Options | options | |||
) |
This function accepts the window id of the parent window, instead of QWidget*. It should be used only when necessary.
- Since:
- 4.4
KUrl getSaveUrl | ( | KUrl | startDir=KUrl(), | |
QString | filter=QString(), | |||
QWidget | parent=0, | |||
QString | caption=QString() | |||
) |
Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.
Note that with this method the user need not select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget. options Dialog options.
- See also:
- KFileWidget.KFileWidget()
- Since:
- 4.4
KUrl getSaveUrl | ( | KUrl | startDir, | |
QString | filter, | |||
QWidget | parent, | |||
QString | caption, | |||
KFileDialog.Options | options | |||
) |
Creates a modal file dialog and returns the selected filename or an empty string if none was chosen.
Note that with this method the user need not select an existing filename.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. filter A shell glob or a mimetype filter that specifies which files to display. The preferred option is to set a list of mimetype names, see setMimeFilter() for details. Otherwise you can set the text to be displayed for the each glob, and provide multiple globs, see setFilter() for details. parent The widget the dialog will be centered on initially. caption The name of the dialog widget. options Dialog options.
- See also:
- KFileWidget.KFileWidget()
- Since:
- 4.4
This method implements the logic to determine the user's default directory to be listed. E.g. the documents directory, home directory or a recently used directory.
- Parameters:
-
startDir Starting directory or kfiledialog: URL. Refer to the KFileWidget documentation for more information on this parameter. recentDirClass If the kfiledialog: syntax is used, this will return the string to be passed to KRecentDirs.dir() and KRecentDirs.add().
- Returns:
- The URL that should be listed by default (e.g. by KFileDialog or KDirSelectDialog).
- See also:
- KFileWidget.KFileWidget()
- See also:
- KFileWidget.getStartUrl( const KUrl& startDir, QString& recentDirClass );
setStartDir | ( | KUrl | directory | |
) |
- Internal:
- Used by KDirSelectDialog to share the dialog's start directory.
Enumeration Documentation
OperationMode |
Defines some default behavior of the filedialog. E.g. in mode Opening and Saving, the selected files/urls will be added to the "recent documents" list. The Saving mode also implies setKeepLocation() being set.
Other means that no default actions are performed.
- See also:
- setOperationMode
- See also:
- operationMode
- Enumerator:
-
Other = 0 Opening Saving
Option |
Defines the options to use when calling getSave* functions.
- Since:
- 4.4
- Enumerator:
-
ConfirmOverwrite = 0x01 ShowInlinePreview = 0x02