Sur cette page

QFileDialog Class

Affiche une boîte de dialogue permettant aux utilisateurs de sélectionner des fichiers ou des répertoires. En savoir plus...

En-tête : #include <QFileDialog>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QDialog

Types publics

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 }

Propriétés

Fonctions publiques

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

Fonctions publiques réimplémentées

virtual void setVisible(bool visible) override

Signaux

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)

Membres publics statiques

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)

Fonctions protégées réimplémentées

virtual void accept() override
virtual void changeEvent(QEvent *e) override
virtual void done(int result) override

Description détaillée

La classe QFileDialog permet aux utilisateurs de parcourir le système de fichiers et de sélectionner un ou plusieurs fichiers ou répertoires.

Boîte de dialogue « Ouvrir un fichier »

QFileDialog est couramment utilisé pour inviter les utilisateurs à ouvrir ou enregistrer des fichiers, ou à sélectionner des répertoires. La manière la plus simple d’utiliser QFileDialog consiste à recourir à ses fonctions statiques pratiques, telles que getOpenFileName().

fileName = QFileDialog::getOpenFileName(this,
    tr("Open Image"), "/home/jana", tr("Image Files (*.png *.jpg *.bmp)"));

Dans cet exemple, un QFileDialog modal est créé à l’aide d’une fonction statique. La boîte de dialogue affiche initialement le contenu du répertoire /home/jana et présente les fichiers correspondant aux modèles définis dans "Image Files (*.png *.jpg *.bmp)". Le titre de la fenêtre est défini sur Open Image.

Filtres de fichiers

Filtrage des fichiers par nom ou par extension

Pour filtrer les fichiers affichés par nom ou par extension, utilisez les fonctions setNameFilter() ou setNameFilters(). Il est possible de spécifier plusieurs filtres en les séparant par deux points-virgules (;;):

QFileDialog dialog(this);
dialog.setNameFilter(tr("Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"));
dialog.exec();

Filtrage des fichiers par type MIME

Pour filtrer les fichiers affichés par type MIME, utilisez la fonction setMimeTypeFilters() :

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();

Sensibilité à la casse des filtres de fichiers

Selon la plate-forme cible, les filtres de fichiers peuvent être sensibles ou insensibles à la casse.

Modes de fichiers

QFileDialog prend en charge plusieurs modes de fichiers, qui déterminent ce que l'utilisateur peut sélectionner :

QFileDialog dialog(this);
dialog.setFileMode(QFileDialog::AnyFile);
  • AnyFile: l’utilisateur peut sélectionner n’importe quel fichier, y compris des fichiers qui n’existent pas (utile pour les boîtes de dialogue « Save As »).
  • ExistingFile: l'utilisateur doit sélectionner un fichier existant.
  • Directory: l'utilisateur peut sélectionner un répertoire.

Consultez l'énumération QFileDialog::FileMode pour obtenir la liste complète des modes.

La propriété ` fileMode ` contient le mode de fonctionnement actuel. Utilisez ` setFileMode()` pour le modifier.

Modes d’affichage

QFileDialog propose deux modes d'affichage :

  • Liste: affiche les fichiers et les répertoires sous forme de simple liste.
  • Détail: affiche des informations supplémentaires telles que la taille du fichier et la date de modification.

Définissez le mode d'affichage à l'aide de la méthode setViewMode() :

dialog.setViewMode(QFileDialog::Detail);

Récupération des fichiers sélectionnés

Une fois la boîte de dialogue validée, utilisez ` selectedFiles()` pour récupérer la sélection de l'utilisateur :

QStringList fileNames;
if (dialog.exec())
    fileNames = dialog.selectedFiles();

Le répertoire de travail de la boîte de dialogue peut être défini à l’aide de ` setDirectory()` (). Vous pouvez présélectionner un fichier à l’aide de ` selectFile()` ().

Remarques relatives à la plate-forme

Par défaut, QFileDialog utilise la boîte de dialogue de fichiers native de la plateforme si elle est disponible. Dans ce cas, certaines API spécifiques aux widgets (telles que layout() et itemDelegate()) peuvent renvoyer null. De plus, toutes les plateformes n'affichent pas les boîtes de dialogue de fichiers avec une barre de titre ; le texte de la légende peut donc ne pas être visible.

Pour forcer l’utilisation de la boîte de dialogue basée sur les widgets Qt, définissez l’option DontUseNativeDialog ou l’attribut d’application AA_DontUseNativeDialogs.

Considérations de sécurité

La fonction restoreState() désérialise un blob binaire versionné décrivant la disposition du séparateur de la boîte de dialogue, les signets de la barre latérale, l’historique de navigation, le répertoire courant et un blob d’état QHeaderView intégré. Le nombre magique et la version du format sont validés, mais les champs individuels ne font l’objet d’aucun autre contrôle de cohérence une fois que la structure externe est acceptée.

Ne transmettez à ` restoreState()` qu’un ` QByteArray ` précédemment généré par ` saveState()` et persisté par la même version, ou une version compatible, de votre application, généralement via ` QSettings`. Ne restaurez pas l’état à partir d’un fichier, d’une configuration ou de toute autre source dont la provenance n’est pas fiable. L’état de l’en-tête intégré est soumis aux mêmes considérations que celles décrites dans ` QHeaderView's Security Considerations`.

Voir également QDir, QFileInfo, QFile, QColorDialog, QFontDialog et l’exemple de boîtes de dialogue standard.

Documentation sur les types de membres

enum QFileDialog::AcceptMode

ConstanteValeur
QFileDialog::AcceptOpen0
QFileDialog::AcceptSave1

enum QFileDialog::DialogLabel

ConstanteValeur
QFileDialog::LookIn0
QFileDialog::FileName1
QFileDialog::FileType2
QFileDialog::Accept3
QFileDialog::Reject4

enum QFileDialog::FileMode

Cette énumération sert à indiquer les options que l'utilisateur peut sélectionner dans la boîte de dialogue de fichier ; c'est-à-dire la valeur renvoyée par la boîte de dialogue lorsque l'utilisateur clique sur OK.

ConstanteValeurDescription
QFileDialog::AnyFile0Le nom d’un fichier, qu’il existe ou non.
QFileDialog::ExistingFile1Le nom d’un fichier existant.
QFileDialog::Directory2Le nom d’un répertoire. Les fichiers et les répertoires sont affichés. Cependant, la boîte de dialogue native de Windows ne prend pas en charge l’affichage des fichiers dans le sélecteur de répertoires.
QFileDialog::ExistingFiles3Les noms d'un ou plusieurs fichiers existants.

Voir aussi setFileMode().

enum QFileDialog::Option
flags QFileDialog::Options

Options qui influencent le comportement de la boîte de dialogue.

ConstanteValeurDescription
QFileDialog::ShowDirsOnly0x00000001Afficher uniquement les répertoires. Par défaut, les fichiers et les répertoires sont affichés.
This option is only effective in the Directory file mode.
QFileDialog::DontResolveSymlinks0x00000002Ne pas résoudre les liens symboliques. Par défaut, les liens symboliques sont résolus.
QFileDialog::DontConfirmOverwrite0x00000004Ne pas demander de confirmation si un fichier existant est sélectionné. Par défaut, une confirmation est demandée.
This option is only effective if acceptMode is AcceptSave). It is furthermore not used on macOS for native file dialogs.
QFileDialog::DontUseNativeDialog0x00000008N'utilisez pas la boîte de dialogue de fichier native de la plateforme, mais celle basée sur des widgets fournie par Qt.
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.
Pour que cette option soit prise en compte, vous devez la définir avant de modifier d’autres propriétés de la boîte de dialogue ou avant d’afficher celle-ci.
QFileDialog::ReadOnly0x00000010Indique que le modèle est en lecture seule.
QFileDialog::HideNameFilterDetails0x00000020Indique si les détails du filtre de nom de fichier sont masqués ou non.
QFileDialog::DontUseCustomDirectoryIcons0x00000040Utiliser systématiquement l’icône de répertoire par défaut.
Certaines plateformes permettent à l’utilisateur de définir une icône différente, mais la recherche d’icônes personnalisées peut entraîner des problèmes de performances importants sur le réseau ou les lecteurs amovibles.
Setting this will enable the DontUseCustomDirectoryIcons option in iconProvider().
Cette valeur d'énumération a été ajoutée dans Qt 5.2.

Le type Options est un typedef pour QFlags<Option>. Il stocke une combinaison OR de valeurs Option.

Voir également options et testOption.

enum QFileDialog::ViewMode

Cette énumération décrit le mode d'affichage de la boîte de dialogue de fichiers, c'est-à-dire les informations affichées pour chaque fichier.

ConstanteValeurDescription
QFileDialog::Detail0Affiche une icône, un nom et des détails pour chaque élément du répertoire.
QFileDialog::List1Affiche uniquement une icône et un nom pour chaque élément du répertoire.

Voir aussi setViewMode().

Documentation sur les propriétés

acceptMode : AcceptMode

Cette propriété définit le mode d'acceptation de la boîte de dialogue.

Le mode d'action définit si la boîte de dialogue sert à ouvrir ou à enregistrer des fichiers.

Par défaut, cette propriété est définie sur « AcceptOpen ».

Fonctions d'accès :

QFileDialog::AcceptMode acceptMode() const
void setAcceptMode(QFileDialog::AcceptMode mode)

Voir également AcceptMode.

defaultSuffix : QString

Suffixe ajouté au nom de fichier si aucun autre suffixe n'a été spécifié.

Cette propriété spécifie une chaîne de caractères qui est ajoutée au nom de fichier si celui-ci ne comporte pas encore de suffixe. Le suffixe sert généralement à indiquer le type de fichier (par exemple, « txt » indique un fichier texte).

Si le premier caractère est un point ('.'), il est supprimé.

Fonctions d'accès :

QString defaultSuffix() const
void setDefaultSuffix(const QString &suffix)

fileMode : FileMode

Cette propriété contient le mode de fichier de la boîte de dialogue.

Le mode de fichier définit le nombre et le type d'éléments que l'utilisateur est censé sélectionner dans la boîte de dialogue.

Par défaut, cette propriété est définie sur « AnyFile ».

Cette fonction définit les libellés des DialogLabels « FileName » et « Accept ». Il est possible de définir un texte personnalisé après l'appel à la fonction setFileMode().

Fonctions d’accès :

QFileDialog::FileMode fileMode() const
void setFileMode(QFileDialog::FileMode mode)

Voir également FileMode.

options : Options

Cette propriété regroupe les différentes options qui influencent l'apparence et le comportement de la boîte de dialogue.

Par défaut, toutes les options sont désactivées.

Les options (en particulier l'option « DontUseNativeDialog ») doivent être définies avant de modifier les propriétés de la boîte de dialogue ou de l'afficher.

La configuration des options alors que la boîte de dialogue est visible n'est pas garantie d'avoir un effet immédiat sur celle-ci (selon l'option et la plate-forme).

La configuration des options après avoir modifié d’autres propriétés peut entraîner la non-application de ces valeurs.

Fonctions d’accès :

QFileDialog::Options options() const
void setOptions(QFileDialog::Options options)

Voir également setOption() et testOption().

supportedSchemes : QStringList

Cette propriété contient les schémas d'URL vers lesquels la boîte de dialogue de fichier doit permettre de naviguer.

La définition de cette propriété permet de restreindre le type d'URL que l'utilisateur peut sélectionner. Elle permet à l'application de déclarer les protocoles qu'elle prend en charge pour récupérer le contenu du fichier. Une liste vide signifie qu'aucune restriction n'est appliquée (valeur par défaut). La prise en charge des fichiers locaux (schéma « file ») est implicite et toujours activée ; il n'est pas nécessaire de l'inclure dans la restriction.

Fonctions d'accès :

QStringList supportedSchemes() const
void setSupportedSchemes(const QStringList &schemes)

viewMode : ViewMode

Cette propriété définit la manière dont les fichiers et les répertoires s'affichent dans la boîte de dialogue.

Par défaut, le mode « Detail » est utilisé pour afficher les informations relatives aux fichiers et aux répertoires.

Fonctions d'accès :

QFileDialog::ViewMode viewMode() const
void setViewMode(QFileDialog::ViewMode mode)

Voir également ViewMode.

Documentation sur les fonctions membres

QFileDialog::QFileDialog(QWidget *parent, Qt::WindowFlags flags)

Crée une boîte de dialogue de fichier avec l'parent et le widget flags indiqués.

[explicit] QFileDialog::QFileDialog(QWidget *parent = nullptr, const QString &caption = QString(), const QString &directory = QString(), const QString &filter = QString())

Affiche une boîte de dialogue de sélection de fichier avec les paramètres ` parent ` et ` caption ` indiqués, qui affiche initialement le contenu du répertoire spécifié ` directory`. Le contenu du répertoire est filtré avant d'être affiché dans la boîte de dialogue, à l'aide d'une liste de filtres séparés par des points-virgules, spécifiée par ` filter`.

[virtual noexcept] QFileDialog::~QFileDialog()

Ferme la boîte de dialogue de sélection de fichier.

[override virtual protected] void QFileDialog::accept()

Réimplémente : QDialog::accept().

[override virtual protected] void QFileDialog::changeEvent(QEvent *e)

Réimplémente : QWidget::changeEvent(QEvent *event).

[signal] void QFileDialog::currentChanged(const QString &path)

Lorsque le fichier courant change dans le cadre d'opérations locales, ce signal est émis avec le nouveau nom de fichier comme paramètre « path ».

Voir également filesSelected().

[signal] void QFileDialog::currentUrlChanged(const QUrl &url)

Lorsque le fichier actuel change, ce signal est émis avec la nouvelle URL du fichier comme paramètre « url ».

Voir également urlsSelected().

QDir QFileDialog::directory() const

Renvoie le répertoire actuellement affiché dans la boîte de dialogue.

Voir aussi setDirectory().

[signal] void QFileDialog::directoryEntered(const QString &directory)

Ce signal est émis pour les opérations locales lorsque l'utilisateur saisit une adresse directory.

QUrl QFileDialog::directoryUrl() const

Renvoie l'URL du répertoire actuellement affiché dans la boîte de dialogue.

Voir aussi setDirectoryUrl().

[signal] void QFileDialog::directoryUrlEntered(const QUrl &directory)

Ce signal est émis lorsque l'utilisateur saisit une adresse directory.

[override virtual protected] void QFileDialog::done(int result)

Réimplémente : QDialog::done(int r).

[signal] void QFileDialog::fileSelected(const QString &file)

Lorsque la sélection change pour les opérations locales et que la boîte de dialogue est validée, ce signal est émis avec la liste des éléments sélectionnés ( file), qui peut être vide.

Voir également ` currentChanged()` et ` QDialog::Accepted`.

[signal] void QFileDialog::filesSelected(const QStringList &selected)

Lorsque la sélection est modifiée pour les opérations locales et que la boîte de dialogue est validée, ce signal est émis avec la liste (éventuellement vide) des fichiers d'selected.

Voir également currentChanged() et QDialog::Accepted.

QDir::Filters QFileDialog::filter() const

Renvoie le filtre utilisé lors de l'affichage des fichiers.

Voir aussi setFilter().

[signal] void QFileDialog::filterSelected(const QString &filter)

Ce signal est émis lorsque l'utilisateur sélectionne une « filter ».

[static] QString QFileDialog::getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)

Il s'agit d'une fonction statique pratique qui renvoie un répertoire existant sélectionné par l'utilisateur.

QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"),
                                                "/home",
                                                QFileDialog::ShowDirsOnly
                                                | QFileDialog::DontResolveSymlinks);

Cette fonction crée une boîte de dialogue modale de sélection de fichier avec le widget « parent » spécifié. Si « parent » n’est pas défini sur « nullptr », la boîte de dialogue s’affiche centrée sur le widget parent.

Le répertoire de travail de la boîte de dialogue est défini sur ` dir`, et le titre sur ` caption`. Ces deux paramètres peuvent être une chaîne vide ; dans ce cas, le répertoire courant et un titre par défaut sont respectivement utilisés.

L’argument ` options ` contient diverses options relatives au fonctionnement de la boîte de dialogue. Consultez l’énumération ` QFileDialog::Option ` pour plus d’informations sur les indicateurs que vous pouvez passer. Pour garantir l’utilisation d’une boîte de dialogue de fichiers native, ` ShowDirsOnly ` doit être défini.

Sous Windows et macOS, cette fonction statique utilise la boîte de dialogue de fichiers native et non un QFileDialog. Cependant, la boîte de dialogue de fichiers native de Windows ne prend pas en charge l’affichage des fichiers dans le sélecteur de répertoires. Vous devez passer l’option DontUseNativeDialog ou définir l’attribut d’application global AA_DontUseNativeDialogs pour afficher les fichiers à l’aide d’un QFileDialog.

Notez que la boîte de dialogue de fichiers native de macOS n’affiche pas de barre de titre.

Sous Unix/X11, le comportement normal de la boîte de dialogue de fichiers consiste à résoudre et à suivre les liens symboliques. Par exemple, si /usr/tmp est un lien symbolique vers /var/tmp, la boîte de dialogue de fichiers affiche /var/tmp après la saisie de /usr/tmp. Si options contient DontResolveSymlinks, la boîte de dialogue de fichiers traite les liens symboliques comme des répertoires normaux.

Sous Windows, la boîte de dialogue exécute une boucle d'événements modale bloquante qui ne déclenche aucun QTimer, et si parent n’est pas nullptr, elle positionne alors la boîte de dialogue juste en dessous de la barre de titre de la fenêtre parente.

Voir également getOpenFileName(), getOpenFileNames() et getSaveFileName().

[static] QUrl QFileDialog::getExistingDirectoryUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), QFileDialog::Options options = ShowDirsOnly, const QStringList &supportedSchemes = QStringList())

Il s'agit d'une fonction statique pratique qui renvoie un répertoire existant sélectionné par l'utilisateur. Si l'utilisateur clique sur « Annuler », elle renvoie une URL vide.

Cette fonction s'utilise de la même manière que QFileDialog::getExistingDirectory(). En particulier, parent, caption, dir et options s'utilisent exactement de la même façon.

La principale différence avec ` QFileDialog::getExistingDirectory()` réside dans la possibilité offerte à l’utilisateur de sélectionner un répertoire distant. C’est pourquoi le type de retour et le type de ` dir ` sont respectivement ` QUrl`.

L’argument ` supportedSchemes ` permet de restreindre le type d’URL que l’utilisateur peut sélectionner. C’est un moyen pour l’application de déclarer les protocoles qu’elle prend en charge pour récupérer le contenu du fichier. Une liste vide signifie qu’aucune restriction n’est appliquée (valeur par défaut). La prise en charge des fichiers locaux (schéma « file ») est implicite et toujours activée ; il n’est pas nécessaire de l’inclure dans la restriction.

Dans la mesure du possible, cette fonction statique utilise la boîte de dialogue de fichiers native et non une instance de ` QFileDialog`. Sur les plateformes qui ne prennent pas en charge la sélection de fichiers distants, Qt permet de sélectionner uniquement des fichiers locaux.

Voir également getExistingDirectory(), getOpenFileUrl(), getOpenFileUrls() et getSaveFileUrl().

[static] void QFileDialog::getOpenFileContent(const QString &nameFilter, const std::function<void (const QString &, const QByteArray &)> &fileOpenCompleted, QWidget *parent = nullptr)

Il s'agit d'une fonction statique pratique qui renvoie le contenu d'un fichier sélectionné par l'utilisateur.

Utilisez cette fonction pour accéder aux fichiers locaux sur Qt for WebAssembly, si le bac à sable Web restreint l'accès aux fichiers. Son implémentation permet d'afficher une boîte de dialogue de fichier native dans le navigateur, dans laquelle l'utilisateur sélectionne un fichier en fonction du paramètre ` nameFilter `.

parent est ignoré sur Qt pour WebAssembly. Passez parent sur les autres plateformes, pour que la fenêtre contextuelle devienne un enfant d’un autre widget. Si la plateforme ne prend pas en charge les boîtes de dialogue de fichiers natives, la fonction utilise alors la méthode de secours QFileDialog.

La fonction est asynchrone et renvoie immédiatement un résultat. La fonction de rappel ` fileOpenCompleted ` sera appelée lorsqu’un fichier aura été sélectionné et que son contenu aura été chargé en mémoire.

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())

Il s'agit d'une fonction statique pratique qui renvoie un fichier existant sélectionné par l'utilisateur. Si l'utilisateur clique sur « Annuler », elle renvoie une chaîne vide.

QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),
                                                "/home",
                                                tr("Images (*.png *.xpm *.jpg)"));

La fonction crée une boîte de dialogue modale de sélection de fichier à l'aide du widget ` parent ` fourni. Si ` parent ` n'est pas ` nullptr`, la boîte de dialogue s'affiche centrée sur le widget parent.

Le répertoire de travail de la boîte de dialogue de fichiers est défini sur dir. Si dir contient un nom de fichier, ce fichier est sélectionné. Seuls les fichiers correspondant à l’ filter fournie sont affichés. Le filtre sélectionné est défini sur selectedFilter. Les paramètres dir, selectedFilter et filter peuvent être des chaînes vides. Si vous souhaitez utiliser plusieurs filtres, séparez-les par « ;; », par exemple :

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

L'argument ` options ` contient diverses options relatives au fonctionnement de la boîte de dialogue. Consultez l'énumération ` QFileDialog::Option ` pour plus d'informations sur les indicateurs que vous pouvez passer.

Le titre de la boîte de dialogue est défini sur caption. Si caption n’est pas spécifié, un titre par défaut sera utilisé.

Sous Windows et macOS, cette fonction statique utilise la boîte de dialogue de fichiers native et non un objet ` QFileDialog`. Notez que la boîte de dialogue de fichiers native de macOS n’affiche pas de barre de titre.

Sous Windows, la boîte de dialogue exécute une boucle d'événements modale bloquante qui ne déclenche aucun QTimer, et si parent n'est pas nullptr, elle positionne la boîte de dialogue juste en dessous de la barre de titre de la fenêtre parente.

Sous Unix/X11, le comportement normal de la boîte de dialogue de fichier consiste à résoudre et à suivre les liens symboliques. Par exemple, si /usr/tmp est un lien symbolique vers /var/tmp, la boîte de dialogue de fichier affiche /var/tmp après la saisie de /usr/tmp. Si options contient DontResolveSymlinks, la boîte de dialogue de fichier traite les liens symboliques comme des répertoires normaux.

Voir également getOpenFileNames(), getSaveFileName() et 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())

Il s'agit d'une fonction statique pratique qui renvoie un ou plusieurs fichiers existants sélectionnés par l'utilisateur.

QStringList files = QFileDialog::getOpenFileNames(
                        this,
                        "Select one or more files to open",
                        "/home",
                        "Images (*.png *.xpm *.jpg)");

Cette fonction crée une boîte de dialogue de sélection de fichiers modale à l’aide du widget parent fourni. Si parent n’est pas nullptr, la boîte de dialogue s’affiche centrée sur le widget parent.

Le répertoire de travail de la boîte de dialogue de fichiers est défini sur dir. Si dir inclut un nom de fichier, ce fichier est sélectionné. Le filtre est défini sur filter afin que seuls les fichiers correspondant au filtre soient affichés. Le filtre sélectionné est défini sur selectedFilter. Les paramètres dir, selectedFilter et filter peuvent être des chaînes vides. Si vous avez besoin de plusieurs filtres, séparez-les par « ;; », par exemple :

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

Le titre de la boîte de dialogue est défini sur « caption ». Si « caption » n’est pas spécifié, un titre par défaut est utilisé.

Sous Windows et macOS, cette fonction statique utilise la boîte de dialogue de fichier native et non une QFileDialog. Notez que la boîte de dialogue de fichier native de macOS n'affiche pas de barre de titre.

Sous Windows, la boîte de dialogue exécute une boucle d’événements modale bloquante qui ne déclenche aucun QTimer, et si parent n’est pas nullptr, elle positionne la boîte de dialogue juste en dessous de la barre de titre de la fenêtre parente.

Sous Unix/X11, le comportement normal de la boîte de dialogue de sélection de fichiers consiste à résoudre et à suivre les liens symboliques. Par exemple, si /usr/tmp est un lien symbolique vers /var/tmp, la boîte de dialogue de sélection de fichiers affichera /var/tmp après la saisie de /usr/tmp. L’argument options contient diverses options relatives au fonctionnement de la boîte de dialogue ; consultez l’énumération QFileDialog::Option pour plus d’informations sur les indicateurs que vous pouvez passer.

Voir également getOpenFileName(), getSaveFileName() et 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())

Il s'agit d'une fonction statique pratique qui renvoie un fichier existant sélectionné par l'utilisateur. Si l'utilisateur clique sur « Annuler », elle renvoie une URL vide.

Cette fonction s'utilise de la même manière que ` QFileDialog::getOpenFileName()`. En particulier, ` parent`, ` caption`, ` dir`, ` filter`, ` selectedFilter ` et ` options ` s'utilisent exactement de la même façon.

La principale différence avec ` QFileDialog::getOpenFileName()` réside dans la possibilité offerte à l'utilisateur de sélectionner un fichier distant. C'est pourquoi le type de retour et le type de ` dir ` sont ` QUrl`.

L'argument ` supportedSchemes ` permet de restreindre le type d'URL que l'utilisateur peut sélectionner. C'est un moyen pour l'application de déclarer les protocoles qu'elle prendra en charge pour récupérer le contenu du fichier. Une liste vide signifie qu’aucune restriction n’est appliquée (valeur par défaut). La prise en charge des fichiers locaux (schéma « file ») est implicite et toujours activée ; il n’est pas nécessaire de l’inclure dans la restriction.

Dans la mesure du possible, cette fonction statique utilise la boîte de dialogue de fichiers native et non une QFileDialog. Sur les plateformes qui ne prennent pas en charge la sélection de fichiers distants, Qt n'autorisera que la sélection de fichiers locaux.

Voir également getOpenFileName(), getOpenFileUrls(), getSaveFileUrl() et 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())

Il s'agit d'une fonction statique pratique qui renvoie un ou plusieurs fichiers existants sélectionnés par l'utilisateur. Si l'utilisateur clique sur « Annuler », elle renvoie une liste vide.

Cette fonction s'utilise de la même manière que ` QFileDialog::getOpenFileNames()`. En particulier, ` parent`, ` caption`, ` dir`, ` filter`, ` selectedFilter ` et ` options ` s'utilisent exactement de la même façon.

La principale différence avec QFileDialog::getOpenFileNames() réside dans la possibilité offerte à l'utilisateur de sélectionner des fichiers distants. C'est pourquoi le type de retour et le type de dir sont respectivement QList<QUrl> et QUrl.

L'argument supportedSchemes permet de restreindre le type d'URL que l'utilisateur peut sélectionner. C'est un moyen pour l'application de déclarer les protocoles qu'elle prend en charge pour récupérer le contenu du fichier. Une liste vide signifie qu’aucune restriction n’est appliquée (valeur par défaut). La prise en charge des fichiers locaux (schéma « file ») est implicite et toujours activée ; il n’est pas nécessaire de l’inclure dans la restriction.

Dans la mesure du possible, cette fonction statique utilise la boîte de dialogue de fichiers native et non une instance de ` QFileDialog`. Sur les plateformes qui ne prennent pas en charge la sélection de fichiers distants, Qt n'autorisera que la sélection de fichiers locaux.

Voir également getOpenFileNames(), getOpenFileUrl(), getSaveFileUrl() et 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())

Il s'agit d'une fonction statique pratique qui renvoie le nom d'un fichier sélectionné par l'utilisateur. Le fichier n'a pas besoin d'exister.

Elle crée une boîte de dialogue de sélection de fichier modale à l’aide du widget parent fourni. Si parent n’est pas nullptr, la boîte de dialogue s’affichera centrée par rapport au widget parent.

QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"),
                                                "/home/jana/untitled.png",
                                                tr("Images (*.png *.xpm *.jpg)"));

Le répertoire de travail de la boîte de dialogue de fichier est défini sur dir. Si dir contient un nom de fichier, ce fichier est sélectionné. Seuls les fichiers correspondant à filter sont affichés. Le filtre sélectionné est défini sur selectedFilter. Les paramètres dir, selectedFilter et filter peuvent être des chaînes vides. Les filtres multiples sont séparés par « ;; ». Par exemple :

"Images (*.png *.xpm *.jpg);;Text files (*.txt);;XML files (*.xml)"

L'argument « options » contient diverses options relatives au fonctionnement de la boîte de dialogue ; consultez l'énumération « QFileDialog::Option » pour plus d'informations sur les indicateurs que vous pouvez passer.

Le filtre par défaut peut être sélectionné en définissant selectedFilter sur la valeur souhaitée.

Le titre de la boîte de dialogue est défini sur caption. Si caption n’est pas spécifié, un titre par défaut est utilisé.

Sous Windows et macOS, cette fonction statique utilise la boîte de dialogue de fichier native et non un ` QFileDialog`.

Sous Windows, la boîte de dialogue exécute une boucle d’événements modale bloquante qui ne déclenche aucun QTimer, et si parent n’est pas nullptr, elle positionne la boîte de dialogue juste en dessous de la barre de titre de la fenêtre parente. Sous macOS, avec sa boîte de dialogue de fichier native, l’argument « filter » est ignoré.

Sous Unix/X11, le comportement normal de la boîte de dialogue de sélection de fichiers consiste à résoudre et à suivre les liens symboliques. Par exemple, si /usr/tmp est un lien symbolique vers /var/tmp, la boîte de dialogue de sélection de fichiers affiche /var/tmp après la saisie de /usr/tmp. Si options contient DontResolveSymlinks, la boîte de dialogue de sélection de fichiers traite les liens symboliques comme des répertoires normaux.

Voir également getOpenFileName(), getOpenFileNames() et 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())

Il s'agit d'une fonction statique pratique qui renvoie un fichier sélectionné par l'utilisateur. Le fichier n'a pas besoin d'exister. Si l'utilisateur clique sur « Annuler », elle renvoie une URL vide.

Cette fonction s'utilise de la même manière que ` QFileDialog::getSaveFileName()`. En particulier, ` parent`, ` caption`, ` dir`, ` filter`, ` selectedFilter ` et ` options ` s'utilisent exactement de la même façon.

La principale différence avec ` QFileDialog::getSaveFileName()` réside dans la possibilité offerte à l’utilisateur de sélectionner un fichier distant. C’est pourquoi le type de retour et le type de ` dir ` sont ` QUrl`.

L’argument supportedSchemes permet de restreindre le type d’URL que l’utilisateur peut sélectionner. C’est un moyen pour l’application de déclarer les protocoles qu’elle prend en charge pour enregistrer le contenu du fichier. Une liste vide signifie qu’aucune restriction n’est appliquée (valeur par défaut). La prise en charge des fichiers locaux (schéma « file ») est implicite et toujours activée ; il n’est pas nécessaire de l’inclure dans la restriction.

Dans la mesure du possible, cette fonction statique utilise la boîte de dialogue de fichiers native et non une instance de ` QFileDialog`. Sur les plateformes qui ne prennent pas en charge la sélection de fichiers distants, Qt n’autorisera que la sélection de fichiers locaux.

Voir également getSaveFileName(), getOpenFileUrl(), getOpenFileUrls() et getExistingDirectoryUrl().

QStringList QFileDialog::history() const

Renvoie l'historique de navigation de la boîte de dialogue de sélection de fichiers sous la forme d'une liste de chemins d'accès.

Voir également setHistory().

QAbstractFileIconProvider *QFileDialog::iconProvider() const

Renvoie le fournisseur d'icônes utilisé par la boîte de dialogue de sélection de fichiers.

Voir aussi setIconProvider().

QAbstractItemDelegate *QFileDialog::itemDelegate() const

Renvoie le délégué d'élément utilisé pour afficher les éléments dans les vues de la boîte de dialogue de sélection de fichiers.

Voir également setItemDelegate().

QString QFileDialog::labelText(QFileDialog::DialogLabel label) const

Renvoie le texte affiché dans la boîte de dialogue de sélection de fichier dans l'label spécifié.

Voir également setLabelText().

QStringList QFileDialog::mimeTypeFilters() const

Renvoie les filtres de type MIME actifs dans cette boîte de dialogue de fichier.

Voir aussi setMimeTypeFilters().

QStringList QFileDialog::nameFilters() const

Renvoie les filtres de type de fichier actuellement actifs dans cette boîte de dialogue de fichier.

Voir aussi setNameFilters().

void QFileDialog::open(QObject *receiver, const char *member)

Cette fonction affiche la boîte de dialogue et relie les slots spécifiés par ` receiver ` et ` member ` au signal qui signale les changements de sélection. Si ` fileMode ` est défini sur ` ExistingFiles`, il s'agit du signal ` filesSelected()` ; sinon, il s'agit du signal ` fileSelected()`.

Le signal est déconnecté de l'emplacement lorsque la boîte de dialogue est fermée.

QAbstractProxyModel *QFileDialog::proxyModel() const

Renvoie le modèle proxy utilisé par la boîte de dialogue de fichier. Par défaut, aucun proxy n'est défini.

Voir aussi setProxyModel().

bool QFileDialog::restoreState(const QByteArray &state)

Restaure la disposition des boîtes de dialogue, l'historique et le répertoire courant à l'adresse state indiquée.

Cette fonction est généralement utilisée conjointement avec ` QSettings ` pour rétablir la taille d'une session antérieure.

Renvoie ` false ` en cas d’erreurs.

[static] void QFileDialog::saveFileContent(const QByteArray &fileContent, const QString &fileNameHint, QWidget *parent = nullptr)

Il s'agit d'une fonction statique pratique qui permet d'enregistrer du contenu fileContent dans un fichier, en utilisant un nom de fichier et un emplacement choisis par l'utilisateur. Un paramètre « fileNameHint » peut être fourni pour suggérer un nom de fichier à l'utilisateur.

Utilisez cette fonction pour enregistrer du contenu dans des fichiers locaux sur Qt for WebAssembly, si le bac à sable Web restreint l'accès aux fichiers. Son implémentation permet d'afficher une boîte de dialogue de fichier native dans le navigateur, dans laquelle l'utilisateur spécifie un fichier de sortie en fonction de l'argument ` fileNameHint `.

parent est ignoré sur Qt pour WebAssembly. Passez parent sur les autres plateformes pour que la fenêtre contextuelle soit un enfant d’un autre widget. Si la plateforme ne prend pas en charge les boîtes de dialogue de fichiers natives, la fonction utilise par défaut QFileDialog.

La fonction est asynchrone et renvoie immédiatement un résultat.

QByteArray imageData; // obtained from e.g. QImage::save()
QFileDialog::saveFileContent(imageData, "myimage.png");

QByteArray QFileDialog::saveState() const

Enregistre l'état de la mise en page de la boîte de dialogue, de l'historique et du répertoire actuel.

Cette fonction est généralement utilisée en conjonction avec ` QSettings ` pour mémoriser la taille en vue d'une session ultérieure. Un numéro de version est enregistré avec les données.

void QFileDialog::selectFile(const QString &filename)

Sélectionne l'filename on indiquée dans la boîte de dialogue de fichier.

Voir aussi selectedFiles().

void QFileDialog::selectMimeTypeFilter(const QString &filter)

Définit le type MIME actuel filter.

void QFileDialog::selectNameFilter(const QString &filter)

Définit le type de fichier actuel filter. Il est possible de passer plusieurs filtres filter en les séparant par des points-virgules ou des espaces.

Voir également setNameFilter(), setNameFilters() et selectedNameFilter().

void QFileDialog::selectUrl(const QUrl &url)

Sélectionne l'url indiquée dans la boîte de dialogue de fichier.

Remarque : l' QFileDialog non native ne prend en charge que les fichiers locaux.

Voir aussi selectedUrls().

QStringList QFileDialog::selectedFiles() const

Renvoie une liste de chaînes de caractères contenant les chemins absolus des fichiers sélectionnés dans la boîte de dialogue. Si aucun fichier n'est sélectionné, ou si le mode n'est ni « ExistingFiles » ni « ExistingFile », la fonction selectedFiles() contient le chemin actuel dans la fenêtre d'affichage.

Voir également selectedNameFilter() et selectFile().

QString QFileDialog::selectedMimeTypeFilter() const

Renvoie le type MIME du fichier sélectionné par l'utilisateur dans la boîte de dialogue de sélection de fichier.

QString QFileDialog::selectedNameFilter() const

Renvoie le filtre sélectionné par l'utilisateur dans la boîte de dialogue de fichier.

Voir également selectedFiles().

QList<QUrl> QFileDialog::selectedUrls() const

Renvoie une liste d’URL contenant les fichiers sélectionnés dans la boîte de dialogue. Si aucun fichier n’est sélectionné, ou si le mode n’est ni « ExistingFiles » ni « ExistingFile », la fonction selectedUrls() contient le chemin d’accès actuel dans la fenêtre d’affichage.

Voir également selectedNameFilter() et selectUrl().

void QFileDialog::setDirectory(const QString &directory)

Définit l'directory actuelle de la boîte de dialogue de sélection de fichiers.

Remarque : sous iOS, si vous définissez directory sur QStandardPaths::standardLocations(QStandardPaths::PicturesLocation).last(), une boîte de dialogue native de sélection d'images est utilisée pour accéder à l'album photo de l'utilisateur. Le nom de fichier renvoyé peut être chargé à l'aide de ` QFile ` et des API associées. Pour que cette fonctionnalité soit activée, le fichier `Info.plist` associé à `QMAKE_INFO_PLIST` dans le fichier de projet doit contenir la clé ` NSPhotoLibraryUsageDescription`. Consultez la documentation d'Apple sur `Info.plist` pour plus d'informations concernant cette clé. Cette fonctionnalité a été ajoutée dans Qt 5.5.

Voir également directory().

void QFileDialog::setDirectory(const QDir &directory)

Il s'agit d'une fonction surchargée.

void QFileDialog::setDirectoryUrl(const QUrl &directory)

Définit l'URL d'directory actuelle de la boîte de dialogue de sélection de fichiers.

Remarque : l' QFileDialog non native ne prend en charge que les fichiers locaux.

Remarque : sous Windows, il est possible de passer des URL représentant l'un des dossiers virtuels, tels que « Ordinateur » ou « Réseau ». Pour ce faire, il suffit de passer une QUrl utilisant le schéma clsid suivi de la valeur CLSID sans les accolades. Par exemple, l'URL clsid:374DE290-123F-4565-9164-39C4925E467B désigne l'emplacement de téléchargement. Pour obtenir la liste complète des valeurs possibles, consultez la documentation MSDN sur KNOWNFOLDERID. Cette fonctionnalité a été ajoutée dans Qt 5.5.

Voir également directoryUrl() et QUuid.

void QFileDialog::setFilter(QDir::Filters filters)

Définit le filtre utilisé par le modèle sur filters. Ce filtre permet de spécifier le type de fichiers à afficher.

Voir également filter().

void QFileDialog::setHistory(const QStringList &paths)

Définit l'historique de navigation de la boîte de dialogue de sélection de fichiers pour qu'il contienne l'paths indiquée.

Voir également history().

void QFileDialog::setIconProvider(QAbstractFileIconProvider *provider)

Définit le fournisseur d'icônes utilisé par la boîte de dialogue de sélection de fichiers sur l'adresse spécifiée : provider.

Voir également iconProvider().

void QFileDialog::setItemDelegate(QAbstractItemDelegate *delegate)

Définit le délégué d'élément utilisé pour afficher les éléments dans les vues de la boîte de dialogue de fichier sur l'adresse delegate.

Tout délégué existant sera retiré, mais pas supprimé. ` QFileDialog ` ne prend pas possession de ` delegate`.

Avertissement : vous ne devez pas partager la même instance d’un délégué entre plusieurs vues. Cela pourrait entraîner un comportement d’édition incorrect ou contre-intuitif, car chaque vue connectée à un délégué donné peut recevoir le signal ` closeEditor()` et tenter d’accéder, de modifier ou de fermer un éditeur qui a déjà été fermé.

Notez que le modèle utilisé est QFileSystemModel. Il comporte des rôles de données d’élément personnalisés, décrits par l’énumération Roles. Vous pouvez utiliser un QFileIconProvider si vous souhaitez uniquement des icônes personnalisées.

Voir également itemDelegate(), setIconProvider() et QFileSystemModel.

void QFileDialog::setLabelText(QFileDialog::DialogLabel label, const QString &text)

Définit l'text s affichées dans la boîte de dialogue de sélection de fichiers dans l'label spécifiée.

Voir aussi labelText().

void QFileDialog::setMimeTypeFilters(const QStringList &filters)

Définit les « filters » utilisés dans la boîte de dialogue de sélection de fichiers, à partir d'une liste de types MIME.

Méthode pratique pour setNameFilters(). Utilise QMimeType pour créer un filtre de noms à partir des modèles glob et de la description définis dans chaque type MIME.

Utilisez application/octet-stream pour le filtre « Tous les fichiers (*) », car il s'agit du type MIME de base pour tous les fichiers.

L'appel de `setMimeTypeFilters` remplace tous les filtres de nom précédemment définis et modifie la valeur de retour de ` 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();

Voir également la fonction mimeTypeFilters().

void QFileDialog::setNameFilter(const QString &filter)

Définit le filtre utilisé dans la boîte de dialogue de fichier sur la valeur « filter » indiquée.

Si filter contient une paire de parenthèses renfermant un ou plusieurs motifs de noms de fichiers avec caractères génériques, séparés par des espaces, seul le texte contenu entre ces parenthèses est utilisé comme filtre. Cela signifie que les appels suivants sont tous équivalents :

dialog.setNameFilter("All C++ files (*.cpp *.cc *.C *.cxx *.c++)");
dialog.setNameFilter("*.cpp *.cc *.C *.cxx *.c++");

Remarque : avec la boîte de dialogue de fichiers native d'Android, c'est le type MIME correspondant au filtre de nom spécifié qui est utilisé, car seuls les types MIME sont pris en charge.

Voir également setMimeTypeFilters() et setNameFilters().

void QFileDialog::setNameFilters(const QStringList &filters)

Définit l'filters e utilisée dans la boîte de dialogue de sélection de fichiers.

Notez que le filtre *.* n’est pas portable, car l’hypothèse historique selon laquelle l’extension d’un fichier détermine son type n’est pas valable sur tous les systèmes d’exploitation. Il est possible d’avoir un fichier dont le nom ne contient pas de point (par exemple, Makefile). Dans une boîte de dialogue de sélection de fichiers native de Windows, *.* correspond à ce type de fichiers, tandis que dans d’autres types de boîtes de dialogue, cela peut ne pas être le cas. Il est donc préférable d’utiliser * si vous souhaitez sélectionner n’importe quel fichier.

const QStringList filters({"Image files (*.png *.xpm *.jpg)",
                           "Text files (*.txt)",
                           "Any files (*)"
                          });
QFileDialog dialog(this);
dialog.setNameFilters(filters);
dialog.exec();

setMimeTypeFilters() présente l’avantage de fournir tous les filtres de nom possibles pour chaque type de fichier. Par exemple, les images JPEG peuvent avoir trois extensions différentes ; si votre application peut ouvrir ce type de fichiers, sélectionner le type MIME image/jpeg comme filtre vous permet de tous les ouvrir.

Voir également nameFilters().

void QFileDialog::setOption(QFileDialog::Option option, bool on = true)

Active l'option spécifiée si la valeur de « on » est « true » ; dans le cas contraire, désactive l'option spécifiée.

Les options (en particulier l'option « DontUseNativeDialog ») doivent être définies avant de modifier les propriétés de la boîte de dialogue ou de l'afficher.

La définition d’options alors que la boîte de dialogue est visible n’a pas nécessairement d’effet immédiat sur celle-ci (selon l’option et la plateforme).

La définition d’options après avoir modifié d’autres propriétés peut entraîner l’absence d’effet de ces valeurs.

Voir également options et testOption().

void QFileDialog::setProxyModel(QAbstractProxyModel *proxyModel)

Définit le modèle des vues sur l'proxyModel spécifié. Cette fonction est utile si vous souhaitez modifier le modèle sous-jacent ; par exemple, pour ajouter des colonnes, filtrer des données ou ajouter des lecteurs.

Tout modèle proxy existant est remplacé, mais n’est pas supprimé. La boîte de dialogue de fichier prend possession du fichier proxyModel.

Voir aussi proxyModel().

void QFileDialog::setSidebarUrls(const QList<QUrl> &urls)

Définit les éléments « urls » situés dans la barre latérale.

Par exemple :

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()) {
    // ...
}

La boîte de dialogue de sélection de fichier se présente alors comme suit :

Ouvrir la boîte de dialogue de sélection de fichiers avec les URL définies dans la barre latérale

Voir aussi sidebarUrls().

[override virtual] void QFileDialog::setVisible(bool visible)

Réimplémente : QDialog::setVisible(bool visible).

QList<QUrl> QFileDialog::sidebarUrls() const

Renvoie une liste des URL actuellement présentes dans la barre latérale

Voir aussi setSidebarUrls().

bool QFileDialog::testOption(QFileDialog::Option option) const

Renvoie « true » si l'option spécifiée est activée ; sinon, renvoie « false ».

Voir également options et setOption().

[signal] void QFileDialog::urlSelected(const QUrl &url)

Lorsque la sélection change et que la boîte de dialogue est validée, ce signal est émis avec l'url sélectionné (éventuellement vide).

Voir également ` currentUrlChanged()` et ` QDialog::Accepted`.

[signal] void QFileDialog::urlsSelected(const QList<QUrl> &urls)

Lorsque la sélection change et que la boîte de dialogue est validée, ce signal est émis avec la liste (éventuellement vide) des éléments sélectionnés : urls.

Voir également currentUrlChanged() et QDialog::Accepted.

© 2026 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.