QFileDialog Class
Die Klasse QFileDialog stellt einen Dialog zur Verfügung, mit dem Benutzer Dateien oder Verzeichnisse auswählen können. Mehr...
Kopfzeile: | #include <QFileDialog> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Vererbungen: | QDialog |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QFileDialog ist Teil der Standard-Dialoge.
Öffentliche Typen
enum | AcceptMode { AcceptOpen, AcceptSave } |
enum | DialogLabel { LookIn, FileName, FileType, Accept, Reject } |
enum | FileMode { AnyFile, ExistingFile, Directory, ExistingFiles } |
enum | Option { ShowDirsOnly, DontResolveSymlinks, DontConfirmOverwrite, DontUseNativeDialog, ReadOnly, …, DontUseCustomDirectoryIcons } |
flags | Options |
enum | ViewMode { Detail, List } |
Eigenschaften
|
|
Öffentliche Funktionen
QFileDialog(QWidget *parent, Qt::WindowFlags flags) | |
QFileDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString()) | |
virtual | ~QFileDialog() |
QFileDialog::AcceptMode | acceptMode() const |
QString | defaultSuffix() const |
QDir | directory() const |
QUrl | directoryUrl() const |
QFileDialog::FileMode | fileMode() const |
QDir::Filters | filter() const |
QStringList | history() const |
QAbstractFileIconProvider * | iconProvider() const |
QAbstractItemDelegate * | itemDelegate() const |
QString | labelText(QFileDialog::DialogLabel label) const |
QStringList | mimeTypeFilters() const |
QStringList | nameFilters() const |
void | open(QObject *receiver, const char *member) |
QFileDialog::Options | options() const |
QAbstractProxyModel * | proxyModel() const |
bool | restoreState(const QByteArray &state) |
QByteArray | saveState() const |
void | selectFile(const QString &filename) |
void | selectMimeTypeFilter(const QString &filter) |
void | selectNameFilter(const QString &filter) |
void | selectUrl(const QUrl &url) |
QStringList | selectedFiles() const |
QString | selectedMimeTypeFilter() const |
QString | selectedNameFilter() const |
QList<QUrl> | selectedUrls() const |
void | setAcceptMode(QFileDialog::AcceptMode mode) |
void | setDefaultSuffix(const QString &suffix) |
void | setDirectory(const QString &directory) |
void | setDirectory(const QDir &directory) |
void | setDirectoryUrl(const QUrl &directory) |
void | setFileMode(QFileDialog::FileMode mode) |
void | setFilter(QDir::Filters filters) |
void | setHistory(const QStringList &paths) |
void | setIconProvider(QAbstractFileIconProvider *provider) |
void | setItemDelegate(QAbstractItemDelegate *delegate) |
void | setLabelText(QFileDialog::DialogLabel label, const QString &text) |
void | setMimeTypeFilters(const QStringList &filters) |
void | setNameFilter(const QString &filter) |
void | setNameFilters(const QStringList &filters) |
void | setOption(QFileDialog::Option option, bool on = true) |
void | setOptions(QFileDialog::Options options) |
void | setProxyModel(QAbstractProxyModel *proxyModel) |
void | setSidebarUrls(const QList<QUrl> &urls) |
void | setSupportedSchemes(const QStringList &schemes) |
void | setViewMode(QFileDialog::ViewMode mode) |
QList<QUrl> | sidebarUrls() const |
QStringList | supportedSchemes() const |
bool | testOption(QFileDialog::Option option) const |
QFileDialog::ViewMode | viewMode() const |
Reimplementierte öffentliche Funktionen
virtual void | setVisible(bool visible) override |
Signale
void | currentChanged(const QString &path) |
void | currentUrlChanged(const QUrl &url) |
void | directoryEntered(const QString &directory) |
void | directoryUrlEntered(const QUrl &directory) |
void | fileSelected(const QString &file) |
void | filesSelected(const QStringList &selected) |
void | filterSelected(const QString &filter) |
void | urlSelected(const QUrl &url) |
void | urlsSelected(const QList<QUrl> &urls) |
Statische öffentliche Mitglieder
QString | getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly) |
QUrl | getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList()) |
void | getOpenFileContent(const QString &nameFilter, const std::function<void (const QString &, const QByteArray &)> &fileOpenCompleted, QWidget *parent = nullptr) |
QString | getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options()) |
QStringList | getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options()) |
QUrl | getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList()) |
QList<QUrl> | getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList()) |
QString | getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options()) |
QUrl | getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList()) |
void | saveFileContent(const QByteArray &fileContent, const QString &fileNameHint, QWidget *parent = nullptr) |
Reimplementierte geschützte Funktionen
virtual void | accept() override |
virtual void | changeEvent(QEvent *e) override |
virtual void | done(int result) override |
Detaillierte Beschreibung
Die Klasse QFileDialog ermöglicht es einem Benutzer, das Dateisystem zu durchsuchen, um eine oder mehrere Dateien oder ein Verzeichnis auszuwählen.
Der einfachste Weg, einen QFileDialog zu erstellen, ist die Verwendung der statischen Funktionen, wie z.B. getOpenFileName().
fileName = QFileDialog::getOpenFileName(this, tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));
Im obigen Beispiel wird ein modaler QFileDialog mit einer statischen Funktion erstellt. Der Dialog zeigt zunächst den Inhalt des Verzeichnisses "/home/jana" an und zeigt Dateien an, die den in der Zeichenfolge "Image Files (*.png *.jpg *.bmp)" angegebenen Mustern entsprechen. Das übergeordnete Element des Dateidialogs wird auf diesen Namen gesetzt, und der Fenstertitel lautet "Bild öffnen".
Wenn Sie mehrere Filter verwenden möchten, trennen Sie diese mit zwei Semikolons. Ein Beispiel:
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
Sie können Ihren eigenen QFileDialog erstellen, ohne die statischen Funktionen zu verwenden. Durch den Aufruf von setFileMode() können Sie festlegen, was der Benutzer im Dialog auswählen muss:
QFileDialog dialog(this); dialog.setFileMode(QFileDialog::AnyFile);
Im obigen Beispiel ist der Modus des Dateidialogs auf AnyFile gesetzt, was bedeutet, dass der Benutzer eine beliebige Datei auswählen oder sogar eine Datei angeben kann, die nicht existiert. Dieser Modus ist nützlich, um einen "Speichern unter"-Dialog zu erstellen. Verwenden Sie ExistingFile, wenn der Benutzer eine vorhandene Datei auswählen muss, oder Directory, wenn nur ein Verzeichnis ausgewählt werden kann. Die vollständige Liste der Modi finden Sie in der Aufzählung QFileDialog::FileMode.
Die Eigenschaft fileMode enthält den Betriebsmodus für das Dialogfeld; sie gibt an, welche Arten von Objekten der Benutzer auswählen soll. Verwenden Sie setNameFilter(), um den Dateifilter des Dialogs zu setzen. Ein Beispiel:
dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg)"));
Im obigen Beispiel ist der Filter auf "Images (*.png *.xpm *.jpg)"
gesetzt. Das bedeutet, dass nur Dateien mit der Endung png
, xpm
oder jpg
im QFileDialog angezeigt werden. Sie können mehrere Filter anwenden, indem Sie setNameFilters() verwenden. Verwenden Sie selectNameFilter(), um einen der von Ihnen angegebenen Filter als Standardfilter für den Dateidialog auszuwählen.
Der Dateidialog hat zwei Ansichtsmodi: List und Detail. List zeigt den Inhalt des aktuellen Verzeichnisses als Liste von Datei- und Verzeichnisnamen an. Detail zeigt ebenfalls eine Liste von Datei- und Verzeichnisnamen an, liefert aber neben jedem Namen zusätzliche Informationen, wie z. B. die Dateigröße und das Änderungsdatum. Stellen Sie den Modus mit setViewMode() ein:
dialog.setViewMode(QFileDialog::Detail);
Die letzte wichtige Funktion, die Sie beim Erstellen Ihres eigenen Dateidialogs verwenden müssen, ist selectedFiles().
QStringList fileNames; if (dialog.exec()) fileNames = dialog.selectedFiles();
Im obigen Beispiel wird ein modaler Dateidialog erstellt und angezeigt. Wenn der Benutzer auf OK geklickt hat, wird die ausgewählte Datei in fileName
abgelegt.
Das Arbeitsverzeichnis des Dialogs kann mit setDirectory() festgelegt werden. Jede Datei im aktuellen Verzeichnis kann mit der Funktion selectFile() ausgewählt werden.
Das Beispiel Standarddialoge zeigt, wie man QFileDialog und andere eingebaute Qt-Dialoge verwendet.
Standardmäßig wird ein plattformspezifischer Dateidialog verwendet, wenn die Plattform einen solchen hat. In diesem Fall werden die Widgets, die sonst zum Aufbau des Dialogs verwendet werden, nicht instanziiert, so dass zugehörige Accessors wie layout() und itemDelegate() null zurückgeben. Außerdem zeigen nicht alle Plattformen Dateidialoge mit einer Titelleiste an, so dass der Text der Überschrift für den Benutzer möglicherweise nicht sichtbar ist. Sie können die Option DontUseNativeDialog setzen oder das Anwendungsattribut AA_DontUseNativeDialogs setzen, um sicherzustellen, dass die Widget-basierte Implementierung anstelle des nativen Dialogs verwendet wird.
Siehe auch QDir, QFileInfo, QFile, QColorDialog, QFontDialog und Standarddialoge Beispiel.
Dokumentation der Mitgliedstypen
enum QFileDialog::AcceptMode
Konstante | Wert |
---|---|
QFileDialog::AcceptOpen | 0 |
QFileDialog::AcceptSave | 1 |
enum QFileDialog::DialogLabel
Konstante | Wert |
---|---|
QFileDialog::LookIn | 0 |
QFileDialog::FileName | 1 |
QFileDialog::FileType | 2 |
QFileDialog::Accept | 3 |
QFileDialog::Reject | 4 |
enum QFileDialog::FileMode
Diese Aufzählung wird verwendet, um anzugeben, was der Benutzer im Dateidialog auswählen kann, d. h. was der Dialog zurückgibt, wenn der Benutzer auf OK klickt.
Konstante | Wert | Beschreibung |
---|---|---|
QFileDialog::AnyFile | 0 | Der Name einer Datei, unabhängig davon, ob sie existiert oder nicht. |
QFileDialog::ExistingFile | 1 | Der Name einer einzelnen vorhandenen Datei. |
QFileDialog::Directory | 2 | Der Name eines Verzeichnisses. Es werden sowohl Dateien als auch Verzeichnisse angezeigt. Der Windows-eigene Dateidialog unterstützt jedoch nicht die Anzeige von Dateien in der Verzeichnisauswahl. |
QFileDialog::ExistingFiles | 3 | Die Namen von null oder mehr vorhandenen Dateien. |
Siehe auch setFileMode().
enum QFileDialog::Option
flags QFileDialog::Options
Optionen, die das Verhalten des Dialogs beeinflussen.
Konstante | Wert | Beschreibung |
---|---|---|
QFileDialog::ShowDirsOnly | 0x00000001 | Nur Verzeichnisse anzeigen. Standardmäßig werden sowohl Dateien als auch Verzeichnisse angezeigt. This option is only effective in the Directory file mode. |
QFileDialog::DontResolveSymlinks | 0x00000002 | Symlinks nicht auflösen. Standardmäßig werden Symlinks aufgelöst. |
QFileDialog::DontConfirmOverwrite | 0x00000004 | Nicht nach einer Bestätigung fragen, wenn eine vorhandene Datei ausgewählt wird. Standardmäßig wird eine Bestätigung angefordert. This option is only effective if acceptMode is AcceptSave). It is furthermore not used on macOS for native file dialogs. |
QFileDialog::DontUseNativeDialog | 0x00000008 | Verwenden Sie keinen plattformeigenen Dateidialog, sondern den von Qt bereitgestellten Widget-basierten. By default, a native file dialog is shown unless you use a subclass of QFileDialog that contains the Q_OBJECT macro, the global AA_DontUseNativeDialogs application attribute is set, or the platform does not have a native dialog of the type that you require. Damit die Option wirksam ist, müssen Sie sie festlegen, bevor Sie andere Eigenschaften des Dialogfelds ändern oder das Dialogfeld anzeigen. |
QFileDialog::ReadOnly | 0x00000010 | Zeigt an, dass das Modell schreibgeschützt ist. |
QFileDialog::HideNameFilterDetails | 0x00000020 | Gibt an, ob die Details des Dateinamenfilters ausgeblendet werden oder nicht. |
QFileDialog::DontUseCustomDirectoryIcons | 0x00000040 | Verwenden Sie immer das Standardsymbol für Verzeichnisse. Einige Plattformen erlauben es dem Benutzer, ein anderes Symbol festzulegen, aber die benutzerdefinierte Symbolsuche kann bei Netzwerk- oder Wechsellaufwerken zu erheblichen Leistungsproblemen führen. Setting this will enable the DontUseCustomDirectoryIcons option in iconProvider(). Dieser Enum-Wert wurde in Qt 5.2 hinzugefügt. |
Der Typ Options ist ein Typedef für QFlags<Option>. Er speichert eine ODER-Kombination von Optionswerten.
Siehe auch options und testOption.
enum QFileDialog::ViewMode
Diese Aufzählung beschreibt den Ansichtsmodus des Dateidialogs, d.h. welche Informationen zu jeder Datei angezeigt werden.
Konstante | Wert | Beschreibung |
---|---|---|
QFileDialog::Detail | 0 | Zeigt ein Symbol, einen Namen und Details für jedes Element im Verzeichnis an. |
QFileDialog::List | 1 | Zeigt nur ein Symbol und einen Namen für jedes Element im Verzeichnis an. |
Siehe auch setViewMode().
Eigenschaft Dokumentation
acceptMode : AcceptMode
Diese Eigenschaft enthält den Akzeptanzmodus des Dialogs.
Der Aktionsmodus legt fest, ob das Dialogfeld zum Öffnen oder Speichern von Dateien dient.
Standardmäßig ist diese Eigenschaft auf AcceptOpen eingestellt.
Zugriffsfunktionen:
QFileDialog::AcceptMode | acceptMode() const |
void | setAcceptMode(QFileDialog::AcceptMode mode) |
Siehe auch AcceptMode.
defaultSuffix : QString
Suffix, das an den Dateinamen angehängt wird, wenn kein anderes Suffix angegeben wurde.
Diese Eigenschaft gibt eine Zeichenkette an, die an den Dateinamen angehängt wird, wenn er noch kein Suffix hat. Das Suffix wird normalerweise verwendet, um den Dateityp anzugeben (z. B. "txt" steht für eine Textdatei).
Wenn das erste Zeichen ein Punkt ('.') ist, wird er entfernt.
Zugriffsfunktionen:
QString | defaultSuffix() const |
void | setDefaultSuffix(const QString &suffix) |
fileMode : FileMode
Diese Eigenschaft enthält den Dateimodus des Dialogs.
Der Dateimodus definiert die Anzahl und den Typ der Elemente, die der Benutzer im Dialogfeld auswählen soll.
Standardmäßig ist diese Eigenschaft auf AnyFile eingestellt.
Diese Funktion setzt die Beschriftungen für FileName und Accept DialogLabel s. Es ist möglich, nach dem Aufruf von setFileMode() benutzerdefinierten Text zu setzen.
Zugriffsfunktionen:
QFileDialog::FileMode | fileMode() const |
void | setFileMode(QFileDialog::FileMode mode) |
Siehe auch FileMode.
options : Options
Diese Eigenschaft enthält die verschiedenen Optionen, die das Aussehen des Dialogs beeinflussen.
Standardmäßig sind alle Optionen deaktiviert.
Die Optionen (insbesondere die Option DontUseNativeDialog ) sollten eingestellt werden, bevor die Dialogeigenschaften geändert oder der Dialog angezeigt wird.
Das Setzen von Optionen, während das Dialogfeld sichtbar ist, hat nicht garantiert eine unmittelbare Auswirkung auf das Dialogfeld (abhängig von der Option und der Plattform).
Das Setzen von Optionen nach dem Ändern anderer Eigenschaften kann dazu führen, dass diese Werte keine Wirkung haben.
Zugriffsfunktionen:
QFileDialog::Options | options() const |
void | setOptions(QFileDialog::Options options) |
Siehe auch setOption() und testOption().
supportedSchemes : QStringList
Diese Eigenschaft enthält die URL-Schemata, zu denen der Dateidialog die Navigation ermöglichen soll.
Die Einstellung dieser Eigenschaft ermöglicht es, die Art der URLs einzuschränken, die der Benutzer auswählen kann. Auf diese Weise kann die Anwendung die Protokolle angeben, die sie zum Abrufen des Dateiinhalts unterstützt. Eine leere Liste bedeutet, dass keine Einschränkung vorgenommen wird (Standardeinstellung). Die Unterstützung für lokale Dateien (Schema "file") ist implizit und immer aktiviert; es ist nicht notwendig, sie in die Einschränkung aufzunehmen.
Zugriffsfunktionen:
QStringList | supportedSchemes() const |
void | setSupportedSchemes(const QStringList &schemes) |
viewMode : ViewMode
Diese Eigenschaft legt fest, wie Dateien und Verzeichnisse im Dialogfeld angezeigt werden.
Standardmäßig wird der Modus Detail
verwendet, um Informationen über Dateien und Verzeichnisse anzuzeigen.
Zugriffsfunktionen:
QFileDialog::ViewMode | viewMode() const |
void | setViewMode(QFileDialog::ViewMode mode) |
Siehe auch ViewMode.
Dokumentation der Mitgliedsfunktionen
QFileDialog::QFileDialog(QWidget *parent, Qt::WindowFlags flags)
Konstruiert einen Dateidialog mit dem angegebenen parent und dem Widget flags.
[explicit]
QFileDialog::QFileDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())
Konstruiert einen Dateidialog mit den angegebenen parent und caption, der zunächst den Inhalt des angegebenen directory anzeigt. Der Inhalt des Verzeichnisses wird gefiltert, bevor er im Dialogfeld angezeigt wird, wobei eine durch Semikolon getrennte Liste von Filtern verwendet wird, die durch filter angegeben wird.
[virtual noexcept]
QFileDialog::~QFileDialog()
Löscht den Dateidialog.
[override virtual protected]
void QFileDialog::accept()
Reimplements: QDialog::accept().
[override virtual protected]
void QFileDialog::changeEvent(QEvent *e)
Reimplements: QWidget::changeEvent(QEvent *Event).
[signal]
void QFileDialog::currentChanged(const QString &path)
Wenn sich die aktuelle Datei für lokale Operationen ändert, wird dieses Signal mit dem neuen Dateinamen als Parameter path ausgegeben.
Siehe auch filesSelected().
[signal]
void QFileDialog::currentUrlChanged(const QUrl &url)
Wenn sich die aktuelle Datei ändert, wird dieses Signal mit der neuen Datei-URL als Parameter url ausgegeben.
Siehe auch urlsSelected().
QDir QFileDialog::directory() const
Gibt das Verzeichnis zurück, das gerade im Dialogfeld angezeigt wird.
Siehe auch setDirectory().
[signal]
void QFileDialog::directoryEntered(const QString &directory)
Dieses Signal wird bei lokalen Operationen ausgegeben, wenn der Benutzer eine directory eingibt.
QUrl QFileDialog::directoryUrl() const
Gibt die URL des Verzeichnisses zurück, das gerade im Dialogfeld angezeigt wird.
Siehe auch setDirectoryUrl().
[signal]
void QFileDialog::directoryUrlEntered(const QUrl &directory)
Dieses Signal wird ausgegeben, wenn der Benutzer eine directory eingibt.
[override virtual protected]
void QFileDialog::done(int result)
Reimplements: QDialog::done(int r).
[signal]
void QFileDialog::fileSelected(const QString &file)
Wenn sich die Auswahl für lokale Operationen ändert und der Dialog akzeptiert wird, wird dieses Signal mit der (möglicherweise leeren) ausgewählten file ausgegeben.
Siehe auch currentChanged() und QDialog::Accepted.
[signal]
void QFileDialog::filesSelected(const QStringList &selected)
Wenn sich die Auswahl für lokale Operationen ändert und der Dialog akzeptiert wird, wird dieses Signal mit der (möglicherweise leeren) Liste der selected Dateien ausgegeben.
Siehe auch currentChanged() und QDialog::Accepted.
QDir::Filters QFileDialog::filter() const
Gibt den Filter zurück, der bei der Anzeige von Dateien verwendet wird.
Siehe auch setFilter().
[signal]
void QFileDialog::filterSelected(const QString &filter)
Dieses Signal wird ausgegeben, wenn der Benutzer eine filter auswählt.
[static]
QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)
Dies ist eine statische Komfortfunktion, die ein vorhandenes, vom Benutzer ausgewähltes Verzeichnis zurückgibt.
QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), "/home", QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
Diese Funktion erstellt einen modalen Dateidialog mit dem angegebenen parent Widget. Wenn parent nicht nullptr
ist, wird der Dialog zentriert über dem übergeordneten Widget angezeigt.
Das Arbeitsverzeichnis des Dialogs wird auf dir und die Beschriftung auf caption gesetzt. Beide können auch eine leere Zeichenkette sein, in diesem Fall wird das aktuelle Verzeichnis bzw. eine Standardbeschriftung verwendet.
Das Argument options enthält verschiedene Optionen, wie der Dialog ausgeführt werden soll. Siehe QFileDialog::Option enum für weitere Informationen über die Flags, die Sie übergeben können. Um einen nativen Dateidialog zu gewährleisten, muss ShowDirsOnly gesetzt werden.
Unter Windows und macOS verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Der native Windows-Dateidialog unterstützt jedoch nicht die Anzeige von Dateien in der Verzeichnisauswahl. Sie müssen die Option DontUseNativeDialog übergeben oder das globale Anwendungsattribut \l{Qt::}{AA_DontUseNativeDialogs} setzen, um Dateien mit einem QFileDialog anzuzeigen.
Beachten Sie, dass der native Dateidialog von macOS keine Titelleiste anzeigt.
Unter Unix/X11 ist das normale Verhalten des Dateidialogs, Symlinks aufzulösen und ihnen zu folgen. Wenn zum Beispiel /usr/tmp
ein Symlink zu /var/tmp
ist, wechselt der Dateidialog nach der Eingabe von /usr/tmp
zu /var/tmp
. Wenn options DontResolveSymlinks enthält, behandelt der Dateidialog Symlinks wie normale Verzeichnisse.
Unter Windows führt das Dialogfeld eine blockierende modale Ereignisschleife aus, die keine QTimer versendet, und wenn parent nicht nullptr
ist, wird das Dialogfeld direkt unter der Titelleiste des Elternteils positioniert.
Siehe auch getOpenFileName(), getOpenFileNames(), und getSaveFileName().
[static]
QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())
Dies ist eine statische Komfortfunktion, die ein vom Benutzer ausgewähltes Verzeichnis zurückgibt. Wenn der Benutzer Abbrechen drückt, wird eine leere URL zurückgegeben.
Die Funktion wird ähnlich wie QFileDialog::getExistingDirectory() verwendet. Insbesondere parent, caption, dir und options werden auf genau dieselbe Weise verwendet.
Der Hauptunterschied zu QFileDialog::getExistingDirectory() besteht darin, dass dem Benutzer die Möglichkeit geboten wird, ein entferntes Verzeichnis auszuwählen. Aus diesem Grund ist der Rückgabetyp und der Typ von dir QUrl .
Das Argument supportedSchemes ermöglicht es, die Art der URLs, die der Benutzer auswählen kann, einzuschränken. Es ist eine Möglichkeit für die Anwendung, die Protokolle anzugeben, die sie zum Abrufen des Dateiinhalts unterstützt. Eine leere Liste bedeutet, dass keine Einschränkung vorgenommen wird (Standardeinstellung). Die Unterstützung für lokale Dateien (Schema "file") ist implizit und immer aktiviert; es ist nicht notwendig, sie in die Einschränkung aufzunehmen.
Wenn möglich, verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Auf Plattformen, die die Auswahl entfernter Dateien nicht unterstützen, erlaubt Qt nur die Auswahl lokaler Dateien.
Siehe auch getExistingDirectory(), getOpenFileUrl(), getOpenFileUrls(), und getSaveFileUrl().
[static]
void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::function<void (const QString &, const QByteArray &)> &fileOpenCompleted, QWidget *parent = nullptr)
Dies ist eine statische Komfortfunktion, die den Inhalt einer vom Benutzer ausgewählten Datei zurückgibt.
Verwenden Sie diese Funktion für den Zugriff auf lokale Dateien in Qt for WebAssembly, wenn die Web-Sandbox den Dateizugriff einschränkt. Ihre Implementierung ermöglicht die Anzeige eines nativen Dateidialogs im Browser, in dem der Benutzer eine Datei basierend auf dem Parameter nameFilter auswählt.
parent wird bei Qt für WebAssembly ignoriert. Übergeben Sie parent auf anderen Plattformen, um das Popup zu einem Kind eines anderen Widgets zu machen. Wenn die Plattform keine nativen Dateidialoge unterstützt, fällt die Funktion auf QFileDialog zurück.
Die Funktion ist asynchron und kehrt sofort zurück. Der Callback fileOpenCompleted wird aufgerufen, wenn eine Datei ausgewählt wurde und ihr Inhalt in den Speicher eingelesen wurde.
auto fileContentReady = [](const QString &fileName, const QByteArray &fileContent) { if (fileName.isEmpty()) { // No file was selected } else { // Use fileName and fileContent } }; QFileDialog::getOpenFileContent("Images (*.png *.xpm *.jpg)", fileContentReady);
[static]
QString QFileDialog::getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
Dies ist eine statische Komfortfunktion, die eine vorhandene, vom Benutzer ausgewählte Datei zurückgibt. Wenn der Benutzer auf Abbrechen drückt, wird ein Null-String zurückgegeben.
QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"), "/home", tr("Images (*.png *.xpm *.jpg)"));
Die Funktion erstellt einen modalen Dateidialog mit dem angegebenen parent Widget. Wenn parent nicht nullptr
ist, wird der Dialog zentriert über dem übergeordneten Widget angezeigt.
Das Arbeitsverzeichnis des Dateidialogs wird auf dir gesetzt. Wenn dir einen Dateinamen enthält, wird die Datei ausgewählt. Es werden nur Dateien angezeigt, die mit dem angegebenen filter übereinstimmen. Der ausgewählte Filter wird auf selectedFilter gesetzt. Die Parameter dir, selectedFilter und filter können leere Zeichenfolgen sein. Wenn Sie mehrere Filter wünschen, trennen Sie sie z. B. mit ';;':
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
Das Argument options enthält verschiedene Optionen für die Ausführung des Dialogs. Weitere Informationen zu den Flags, die Sie übergeben können, finden Sie in der Aufzählung QFileDialog::Option.
Die Beschriftung des Dialogs wird auf caption gesetzt. Wenn caption nicht angegeben ist, wird eine Standardbeschriftung verwendet.
Unter Windows und macOS verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Beachten Sie, dass der native Dateidialog von macOS keine Titelleiste anzeigt.
Unter Windows führt der Dialog eine blockierende modale Ereignisschleife aus, die keine QTimer versendet, und wenn parent nicht nullptr
ist, positioniert sie den Dialog direkt unter der Titelleiste des Elterndialogs.
Unter Unix/X11 ist es das normale Verhalten des Dateidialogs, Symlinks aufzulösen und zu verfolgen. Wenn zum Beispiel /usr/tmp
ein Symlink zu /var/tmp
ist, wechselt das Dateidialogfeld nach Eingabe von /usr/tmp
zu /var/tmp
. Wenn options DontResolveSymlinks enthält, behandelt der Dateidialog Symlinks wie normale Verzeichnisse.
Siehe auch getOpenFileNames(), getSaveFileName(), und getExistingDirectory().
[static]
QStringList QFileDialog::getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
Dies ist eine statische Komfortfunktion, die eine oder mehrere vorhandene, vom Benutzer ausgewählte Dateien zurückgibt.
QStringList files = QFileDialog::getOpenFileNames( this, "Select one or more files to open", "/home", "Images (*.png *.xpm *.jpg)");
Diese Funktion erzeugt einen modalen Dateidialog mit dem angegebenen parent Widget. Wenn parent nicht nullptr
ist, wird der Dialog zentriert über dem übergeordneten Widget angezeigt.
Das Arbeitsverzeichnis des Dateidialogs wird auf dir gesetzt. Wenn dir einen Dateinamen enthält, wird die Datei ausgewählt. Der Filter wird auf filter gesetzt, so dass nur die Dateien angezeigt werden, die dem Filter entsprechen. Der ausgewählte Filter wird auf selectedFilter gesetzt. Die Parameter dir, selectedFilter und filter können leere Zeichenfolgen sein. Wenn Sie mehrere Filter benötigen, trennen Sie diese z. B. mit ';;':
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
Die Beschriftung des Dialogs wird auf caption gesetzt. Wenn caption nicht angegeben wird, wird eine Standardbeschriftung verwendet.
Unter Windows und macOS verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Beachten Sie, dass der native Dateidialog von macOS keine Titelleiste anzeigt.
Unter Windows führt der Dialog eine blockierende modale Ereignisschleife aus, die keine QTimer versendet, und wenn parent nicht nullptr
ist, positioniert sie den Dialog direkt unter der Titelleiste des Elterndialogs.
Unter Unix/X11 ist es das normale Verhalten des Dateidialogs, Symlinks aufzulösen und zu verfolgen. Wenn zum Beispiel /usr/tmp
ein Symlink zu /var/tmp
ist, wechselt der Dateidialog nach Eingabe von /usr/tmp
zu /var/tmp
. Das Argument options enthält verschiedene Optionen zur Ausführung des Dialogs, siehe QFileDialog::Option enum für weitere Informationen über die Flags, die Sie übergeben können.
Siehe auch getOpenFileName(), getSaveFileName(), und getExistingDirectory().
[static]
QUrl QFileDialog::getOpenFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
Dies ist eine statische Komfortfunktion, die eine vorhandene, vom Benutzer ausgewählte Datei zurückgibt. Wenn der Benutzer Abbrechen drückt, wird eine leere URL zurückgegeben.
Die Funktion wird ähnlich wie QFileDialog::getOpenFileName() verwendet. Insbesondere parent, caption, dir, filter, selectedFilter und options werden auf genau dieselbe Weise verwendet.
Der Hauptunterschied zu QFileDialog::getOpenFileName() besteht darin, dass dem Benutzer die Möglichkeit geboten wird, eine entfernte Datei auszuwählen. Aus diesem Grund ist der Rückgabetyp und der Typ von dir QUrl .
Das Argument supportedSchemes ermöglicht es, die Art der URLs, die der Benutzer auswählen kann, einzuschränken. Es ist eine Möglichkeit für die Anwendung, die Protokolle anzugeben, die sie zum Abrufen des Dateiinhalts unterstützt. Eine leere Liste bedeutet, dass keine Einschränkung vorgenommen wird (Standardeinstellung). Die Unterstützung für lokale Dateien (Schema "file") ist implizit und immer aktiviert; es ist nicht notwendig, sie in die Einschränkung aufzunehmen.
Wenn möglich, verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Auf Plattformen, die die Auswahl entfernter Dateien nicht unterstützen, erlaubt Qt nur die Auswahl lokaler Dateien.
Siehe auch getOpenFileName(), getOpenFileUrls(), getSaveFileUrl(), und getExistingDirectoryUrl().
[static]
QList<QUrl> QFileDialog::getOpenFileUrls(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
Dies ist eine statische Komfortfunktion, die eine oder mehrere vom Benutzer ausgewählte Dateien zurückgibt. Wenn der Benutzer Abbrechen drückt, wird eine leere Liste zurückgegeben.
Die Funktion wird ähnlich wie QFileDialog::getOpenFileNames() verwendet. Insbesondere parent, caption, dir, filter, selectedFilter und options werden auf genau dieselbe Weise verwendet.
Der Hauptunterschied zu QFileDialog::getOpenFileNames() besteht darin, dass dem Benutzer die Möglichkeit geboten wird, entfernte Dateien auszuwählen. Aus diesem Grund sind der Rückgabetyp und der Typ von dir QList <QUrl> bzw. QUrl.
Das Argument supportedSchemes ermöglicht es, die Art der URLs einzuschränken, die der Benutzer auswählen kann. Es ist eine Möglichkeit für die Anwendung, die Protokolle anzugeben, die sie zum Abrufen des Dateiinhalts unterstützt. Eine leere Liste bedeutet, dass keine Einschränkung vorgenommen wird (Standardeinstellung). Die Unterstützung für lokale Dateien (Schema "file") ist implizit und immer aktiviert; es ist nicht notwendig, sie in die Einschränkung aufzunehmen.
Wenn möglich, verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Auf Plattformen, die die Auswahl entfernter Dateien nicht unterstützen, erlaubt Qt nur die Auswahl lokaler Dateien.
Siehe auch getOpenFileNames(), getOpenFileUrl(), getSaveFileUrl(), und getExistingDirectoryUrl().
[static]
QString QFileDialog::getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
Dies ist eine statische Komfortfunktion, die einen vom Benutzer ausgewählten Dateinamen zurückgibt. Die Datei muss nicht existieren.
Sie erzeugt einen modalen Dateidialog mit dem angegebenen parent Widget. Wenn parent nicht nullptr
ist, wird der Dialog zentriert über dem übergeordneten Widget angezeigt.
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "/home/jana/untitled.png", tr("Images (*.png *.xpm *.jpg)"));
Das Arbeitsverzeichnis des Dateidialogs wird auf dir gesetzt. Wenn dir einen Dateinamen enthält, wird die Datei ausgewählt. Es werden nur Dateien angezeigt, die mit filter übereinstimmen. Der ausgewählte Filter wird auf selectedFilter gesetzt. Die Parameter dir, selectedFilter und filter können leere Zeichenfolgen sein. Mehrere Filter werden mit ';;' getrennt. Zum Beispiel:
"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"
Das Argument options enthält verschiedene Optionen für die Ausführung des Dialogs. Weitere Informationen über die Flags, die Sie übergeben können, finden Sie in der Aufzählung QFileDialog::Option.
Der Standardfilter kann gewählt werden, indem selectedFilter auf den gewünschten Wert gesetzt wird.
Die Beschriftung des Dialogs wird auf caption gesetzt. Wenn caption nicht angegeben ist, wird eine Standardbeschriftung verwendet.
Unter Windows und macOS verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog.
Unter Windows führt das Dialogfeld eine blockierende modale Ereignisschleife aus, die keine QTimer versendet, und wenn parent nicht nullptr
ist, wird das Dialogfeld direkt unter der Titelleiste des Elternteils positioniert. Unter macOS, mit seinem nativen Dateidialog, wird das Filterargument ignoriert.
Unter Unix/X11 ist es das normale Verhalten des Dateidialogs, Symlinks aufzulösen und zu verfolgen. Wenn zum Beispiel /usr/tmp
ein Symlink zu /var/tmp
ist, wechselt der Dateidialog nach der Eingabe von /usr/tmp
zu /var/tmp
. Wenn options DontResolveSymlinks enthält, behandelt der Dateidialog Symlinks wie normale Verzeichnisse.
Siehe auch getOpenFileName(), getOpenFileNames(), und getExistingDirectory().
[static]
QUrl QFileDialog::getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
Dies ist eine statische Komfortfunktion, die eine vom Benutzer ausgewählte Datei zurückgibt. Die Datei muss nicht existieren. Wenn der Benutzer auf Abbrechen drückt, wird eine leere URL zurückgegeben.
Die Funktion wird ähnlich wie QFileDialog::getSaveFileName() verwendet. Insbesondere parent, caption, dir, filter, selectedFilter und options werden auf genau dieselbe Weise verwendet.
Der Hauptunterschied zu QFileDialog::getSaveFileName() besteht darin, dass dem Benutzer die Möglichkeit geboten wird, eine entfernte Datei auszuwählen. Aus diesem Grund ist der Rückgabetyp und der Typ von dir QUrl .
Das Argument supportedSchemes ermöglicht es, die Art der URLs einzuschränken, die der Benutzer auswählen kann. Es ist eine Möglichkeit für die Anwendung, die Protokolle anzugeben, die sie zum Speichern des Dateiinhalts unterstützt. Eine leere Liste bedeutet, dass keine Einschränkung vorgenommen wird (Standardeinstellung). Die Unterstützung für lokale Dateien (Schema "file") ist implizit und immer aktiviert; es ist nicht notwendig, sie in die Einschränkung aufzunehmen.
Wenn möglich, verwendet diese statische Funktion den nativen Dateidialog und nicht QFileDialog. Auf Plattformen, die die Auswahl entfernter Dateien nicht unterstützen, erlaubt Qt nur die Auswahl lokaler Dateien.
Siehe auch getSaveFileName(), getOpenFileUrl(), getOpenFileUrls(), und getExistingDirectoryUrl().
QStringList QFileDialog::history() const
Gibt den Browserverlauf des Dateidialogs als eine Liste von Pfaden zurück.
Siehe auch setHistory().
QAbstractFileIconProvider *QFileDialog::iconProvider() const
Gibt den vom Dateidialog verwendeten Symbolanbieter zurück.
Siehe auch setIconProvider().
QAbstractItemDelegate *QFileDialog::itemDelegate() const
Gibt den Elementdelegaten zurück, der zum Rendern der Elemente in den Ansichten im Dateidialog verwendet wird.
Siehe auch setItemDelegate().
QString QFileDialog::labelText(QFileDialog::DialogLabel label) const
Gibt den im Dateidialog angezeigten Text in der angegebenen label zurück.
Siehe auch setLabelText().
QStringList QFileDialog::mimeTypeFilters() const
Gibt die MIME-Typ-Filter zurück, die für diesen Dateidialog in Betrieb sind.
Siehe auch setMimeTypeFilters().
QStringList QFileDialog::nameFilters() const
Gibt die Dateitypfilter zurück, die für diesen Dateidialog in Betrieb sind.
Siehe auch setNameFilters().
void QFileDialog::open(QObject *receiver, const char *member)
Diese Funktion zeigt den Dialog an und verbindet den durch receiver und member angegebenen Slot mit dem Signal, das über Auswahländerungen informiert. Wenn fileMode ExistingFiles ist, ist dies das Signal filesSelected(), andernfalls ist es das Signal fileSelected().
Das Signal wird vom Slot getrennt, wenn der Dialog geschlossen wird.
QAbstractProxyModel *QFileDialog::proxyModel() const
Gibt das vom Dateidialog verwendete Proxy-Modell zurück. Standardmäßig ist kein Proxy gesetzt.
Siehe auch setProxyModel().
bool QFileDialog::restoreState(const QByteArray &state)
Stellt das Layout der Dialoge, den Verlauf und das aktuelle Verzeichnis auf die angegebene state wieder her.
Normalerweise wird dies in Verbindung mit QSettings verwendet, um die Größe aus einer vergangenen Sitzung wiederherzustellen.
Gibt false
zurück, wenn Fehler vorliegen.
[static]
void QFileDialog::saveFileContent(const QByteArray &fileContent, const QString &fileNameHint, QWidget *parent = nullptr)
Dies ist eine statische Komfortfunktion, die fileContent in einer Datei speichert, wobei ein vom Benutzer gewählter Dateiname und Speicherort verwendet wird. fileNameHint kann angegeben werden, um dem Benutzer einen Dateinamen vorzuschlagen.
Verwenden Sie diese Funktion, um Inhalte in lokalen Dateien auf Qt for WebAssembly zu speichern, wenn die Web-Sandbox den Dateizugriff einschränkt. Ihre Implementierung ermöglicht die Anzeige eines nativen Dateidialogs im Browser, in dem der Benutzer eine Ausgabedatei basierend auf dem Argument fileNameHint angibt.
parent wird bei Qt für WebAssembly ignoriert. Übergeben Sie parent auf anderen Plattformen, um das Popup zu einem Kind eines anderen Widgets zu machen. Wenn die Plattform keine nativen Dateidialoge unterstützt, fällt die Funktion auf QFileDialog zurück.
Die Funktion ist asynchron und kehrt sofort zurück.
QByteArray imageData; // obtained from e.g. QImage::save() QFileDialog::saveFileContent(imageData, "myimage.png"); // with filename hint // OR QFileDialog::saveFileContent(imageData); // no filename hint
QByteArray QFileDialog::saveState() const
Speichert den Zustand des Layouts, der Historie und des aktuellen Verzeichnisses des Dialogs.
Normalerweise wird dies in Verbindung mit QSettings verwendet, um die Größe für eine zukünftige Sitzung zu speichern. Eine Versionsnummer wird als Teil der Daten gespeichert.
void QFileDialog::selectFile(const QString &filename)
Wählt die angegebene filename im Dateidialog aus.
Siehe auch selectedFiles().
void QFileDialog::selectMimeTypeFilter(const QString &filter)
Setzt den aktuellen MIME-Typ filter.
void QFileDialog::selectNameFilter(const QString &filter)
Legt den aktuellen Dateityp filter fest. Mehrere Filter können in filter übergeben werden, indem sie durch Semikolon oder Leerzeichen getrennt werden.
Siehe auch setNameFilter(), setNameFilters(), und selectedNameFilter().
void QFileDialog::selectUrl(const QUrl &url)
Wählt die angegebene url im Dateidialog aus.
Hinweis: Das nicht-native QFileDialog unterstützt nur lokale Dateien.
Siehe auch selectedUrls().
QStringList QFileDialog::selectedFiles() const
Gibt eine Liste von Strings zurück, die die absoluten Pfade der im Dialog ausgewählten Dateien enthält. Wenn keine Dateien ausgewählt sind oder der Modus nicht ExistingFiles oder ExistingFile ist, enthält selectedFiles() den aktuellen Pfad im Ansichtsfenster.
Siehe auch selectedNameFilter() und selectFile().
QString QFileDialog::selectedMimeTypeFilter() const
Gibt den Mimetyp der Datei zurück, die der Benutzer im Dateidialog ausgewählt hat.
QString QFileDialog::selectedNameFilter() const
Gibt den Filter zurück, den der Benutzer im Dateidialog ausgewählt hat.
Siehe auch selectedFiles().
QList<QUrl> QFileDialog::selectedUrls() const
Gibt eine Liste von URLs zurück, die die im Dialog ausgewählten Dateien enthalten. Wenn keine Dateien ausgewählt sind oder der Modus nicht ExistingFiles oder ExistingFile ist, enthält selectedUrls() den aktuellen Pfad im Ansichtsfenster.
Siehe auch selectedNameFilter() und selectUrl().
void QFileDialog::setDirectory(const QString &directory)
Legt die aktuelle directory des Dateidialogs fest.
Hinweis: Unter iOS, wenn Sie directory auf QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last() setzen, wird ein nativer Bildauswahldialog für den Zugriff auf das Fotoalbum des Benutzers verwendet. Der zurückgegebene Dateiname kann über QFile und verwandte APIs geladen werden. Damit dies möglich ist, muss die Info.plist, die QMAKE_INFO_PLIST in der Projektdatei zugewiesen ist, den Schlüssel NSPhotoLibraryUsageDescription
enthalten. Weitere Informationen zu diesem Schlüssel finden Sie in der Info.plist-Dokumentation von Apple. Diese Funktion wurde in Qt 5.5 hinzugefügt.
Siehe auch directory().
void QFileDialog::setDirectory(const QDir &directory)
Dies ist eine überladene Funktion.
void QFileDialog::setDirectoryUrl(const QUrl &directory)
Setzt die aktuelle directory url des Dateidialogs.
Hinweis: Die nicht-native QFileDialog unterstützt nur lokale Dateien.
Hinweis: Unter Windows ist es möglich, URLs zu übergeben, die einen der virtuellen Ordner repräsentieren, wie z. B. "Computer" oder "Netzwerk". Dazu wird ein QUrl mit dem Schema clsid
übergeben, gefolgt vom CLSID-Wert, wobei die geschweiften Klammern entfernt werden. So bezeichnet beispielsweise die URL clsid:374DE290-123F-4565-9164-39C4925E467B
den Speicherort des Downloads. Eine vollständige Liste der möglichen Werte finden Sie in der MSDN-Dokumentation zu KNOWNFOLDERID. Diese Funktion wurde in Qt 5.5 hinzugefügt.
Siehe auch directoryUrl() und QUuid.
void QFileDialog::setFilter(QDir::Filters filters)
Setzt den vom Modell verwendeten Filter auf filters. Der Filter wird verwendet, um die Art der Dateien anzugeben, die angezeigt werden sollen.
Siehe auch filter().
void QFileDialog::setHistory(const QStringList &paths)
Setzt den Browserverlauf des Dateidialogs so, dass er die angegebene paths enthält.
Siehe auch history().
void QFileDialog::setIconProvider(QAbstractFileIconProvider *provider)
Setzt den vom Dateidialog verwendeten Symbolanbieter auf die angegebene provider.
Siehe auch iconProvider().
void QFileDialog::setItemDelegate(QAbstractItemDelegate *delegate)
Setzt den Elementdelegaten, der zum Rendern von Elementen in den Ansichten im Dateidialog verwendet wird, auf den angegebenen delegate.
Ein vorhandener Delegat wird entfernt, aber nicht gelöscht. QFileDialog übernimmt nicht den Besitz von delegate.
Warnung: Sie sollten nicht die gleiche Instanz eines Delegaten zwischen Ansichten teilen. Dies kann zu falschem oder unintuitivem Editierverhalten führen, da jede Ansicht, die mit einem gegebenen Delegaten verbunden ist, das closeEditor() Signal empfangen kann und versuchen kann, auf einen Editor zuzugreifen, ihn zu ändern oder zu schließen, der bereits geschlossen wurde.
Beachten Sie, dass das verwendete Modell QFileSystemModel ist. Es hat benutzerdefinierte Elementdatenrollen, die durch das Roles enum beschrieben werden. Sie können QFileIconProvider verwenden, wenn Sie nur benutzerdefinierte Icons wünschen.
Siehe auch itemDelegate(), setIconProvider(), und QFileSystemModel.
void QFileDialog::setLabelText(QFileDialog::DialogLabel label, const QString &text)
Setzt die im Dateidialog angezeigte text auf die angegebene label.
Siehe auch labelText().
void QFileDialog::setMimeTypeFilters(const QStringList &filters)
Legt den im Dateidialog verwendeten filters aus einer Liste von MIME-Typen fest.
Convenience-Methode für setNameFilters(). Verwendet QMimeType, um einen Namensfilter aus den in jedem MIME-Typ definierten Glob-Mustern und Beschreibungen zu erstellen.
Verwenden Sie application/octet-stream für den Filter "Alle Dateien (*)", da dies der Basis-MIME-Typ für alle Dateien ist.
Der Aufruf von setMimeTypeFilters setzt alle zuvor gesetzten Namensfilter außer Kraft und ändert den Rückgabewert von nameFilters().
QStringList mimeTypeFilters({"image/jpeg", // will show "JPEG image (*.jpeg *.jpg *.jpe) "image/png", // will show "PNG image (*.png)" "application/octet-stream" // will show "All files (*)" }); QFileDialog dialog(this); dialog.setMimeTypeFilters(mimeTypeFilters); dialog.exec();
Siehe auch mimeTypeFilters().
void QFileDialog::setNameFilter(const QString &filter)
Setzt den im Dateidialog verwendeten Filter auf den angegebenen filter.
Wenn filter ein Klammerpaar enthält, das ein oder mehrere durch Leerzeichen getrennte Dateinamen-Wildcard-Muster enthält, wird nur der in den Klammern enthaltene Text als Filter verwendet. Dies bedeutet, dass diese Aufrufe alle gleichwertig sind:
dialog.setNameFilter("All C++ files (*.cpp *.cc *.C *.cxx *.c++)"); dialog.setNameFilter("*.cpp *.cc *.C *.cxx *.c++");
Hinweis: Mit dem nativen Dateidialog von Android wird der Mime-Typ verwendet, der dem angegebenen Namensfilter entspricht, da nur Mime-Typen unterstützt werden.
Siehe auch setMimeTypeFilters() und setNameFilters().
void QFileDialog::setNameFilters(const QStringList &filters)
Legt die im Dateidialog verwendete filters fest.
Beachten Sie, dass der Filter *.* nicht portabel ist, da die historische Annahme, dass die Dateierweiterung den Dateityp bestimmt, nicht auf allen Betriebssystemen konsistent ist. Es ist möglich, eine Datei ohne Punkt in ihrem Namen zu haben (z. B. Makefile
). In einem Windows-eigenen Dateidialog passt *.* zu solchen Dateien, während es in anderen Dateidialogen möglicherweise nicht passt. Es ist also besser, * zu verwenden, wenn Sie eine beliebige Datei auswählen wollen.
const QStringList filters({"Image files (*.png *.xpm *.jpg)", "Text files (*.txt)", "Any files (*)" }); QFileDialog dialog(this); dialog.setNameFilters(filters); dialog.exec();
setMimeTypeFilters() hat den Vorteil, dass alle möglichen Namensfilter für jeden Dateityp zur Verfügung stehen. Zum Beispiel haben JPEG-Bilder drei mögliche Erweiterungen; wenn Ihre Anwendung solche Dateien öffnen kann, können Sie durch Auswahl des Mime-Typs image/jpeg
als Filter alle Dateien öffnen.
Siehe auch nameFilters().
void QFileDialog::setOption(QFileDialog::Option option, bool on = true)
Setzt das angegebene option auf aktiv, wenn on wahr ist; andernfalls wird das angegebene option gelöscht.
Optionen (insbesondere die Option DontUseNativeDialog ) sollten gesetzt werden, bevor die Dialogeigenschaften geändert oder der Dialog angezeigt wird.
Das Setzen von Optionen, während der Dialog sichtbar ist, hat nicht garantiert eine sofortige Auswirkung auf den Dialog (abhängig von der Option und der Plattform).
Das Setzen von Optionen nach dem Ändern anderer Eigenschaften kann dazu führen, dass diese Werte keine Wirkung haben.
Siehe auch options und testOption().
void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)
Legt das Modell für die Ansichten auf die angegebene proxyModel fest. Dies ist nützlich, wenn Sie das zugrunde liegende Modell ändern wollen, z. B. um Spalten hinzuzufügen, Daten zu filtern oder Laufwerke hinzuzufügen.
Ein vorhandenes Proxy-Modell wird entfernt, aber nicht gelöscht. Das Dateidialogfeld übernimmt das Eigentum an der proxyModel.
Siehe auch proxyModel().
void QFileDialog::setSidebarUrls(const QList<QUrl> &urls)
Legt die urls fest, die sich in der Seitenleiste befinden.
Zum Beispiel:
QList<QUrl> urls; urls << QUrl::fromLocalFile("/Users/foo/Code/qt5") << QUrl::fromLocalFile(QStandardPaths::standardLocations(QStandardPaths::MusicLocation).first()); QFileDialog dialog; dialog.setSidebarUrls(urls); dialog.setFileMode(QFileDialog::AnyFile); if (dialog.exec()) { // ... }
Dann sieht der Dateidialog so aus:
Siehe auch sidebarUrls().
[override virtual]
void QFileDialog::setVisible(bool visible)
Reimplements: QDialog::setVisible(bool visible).
QList<QUrl> QFileDialog::sidebarUrls() const
Gibt eine Liste der Urls zurück, die sich derzeit in der Seitenleiste befinden.
Siehe auch setSidebarUrls().
bool QFileDialog::testOption(QFileDialog::Option option) const
Gibt true
zurück, wenn die angegebene option aktiviert ist; andernfalls wird false zurückgegeben.
Siehe auch options und setOption().
[signal]
void QFileDialog::urlSelected(const QUrl &url)
Wenn sich die Auswahl ändert und der Dialog akzeptiert wird, wird dieses Signal mit dem (möglicherweise leeren) ausgewählten url ausgegeben.
Siehe auch currentUrlChanged() und QDialog::Accepted.
[signal]
void QFileDialog::urlsSelected(const QList<QUrl> &urls)
Wenn sich die Auswahl ändert und der Dialog akzeptiert wird, wird dieses Signal mit der (möglicherweise leeren) Liste der ausgewählten urls ausgegeben.
Siehe auch currentUrlChanged() und QDialog::Accepted.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.