Sur cette page

FileDialog QML Type

Une boîte de dialogue de sélection de fichier. En savoir plus...

Import Statement: import QtQuick.Dialogs
Since: Qt 6.2
Inherits:

Dialog

Propriétés

Description détaillée

Le type FileDialog fournit une API QML pour les boîtes de dialogue de fichiers.

Le type de boîte de dialogue « Fichier » permet aux boîtes de dialogue de reproduire l'aspect et la convivialité natifs de la plateforme.

Pour afficher une boîte de dialogue de sélection de fichiers, créez une instance de FileDialog, définissez les propriétés souhaitées, puis appelez la méthode ` open()`. La propriété ` currentFolder ` permet de déterminer le dossier dans lequel la boîte de dialogue s'ouvre. Les propriétés « selectedFile » et « selectedFiles » permettent de déterminer quel(s) fichier(s) est (sont) sélectionné(s) à l’ouverture de la boîte de dialogue ; elles sont également mises à jour lorsque l’utilisateur sélectionne un fichier dans la boîte de dialogue et lorsque celle-ci est validée.

import QtCore
import QtQuick
import QtQuick.Controls
import QtQuick.Dialogs

ApplicationWindow {
    width: 640
    height: 480
    visible: true

    header: ToolBar {
        Button {
            text: qsTr("Choose Image...")
            onClicked: fileDialog.open()
        }
    }

    Image {
        id: image
        anchors.fill: parent
        fillMode: Image.PreserveAspectFit
    }

    FileDialog {
        id: fileDialog
        currentFolder: StandardPaths.standardLocations(StandardPaths.PicturesLocation)[0]
        onAccepted: image.source = selectedFile
    }
}

Disponibilité

Une boîte de dialogue de fichier native est actuellement disponible sur les plateformes suivantes :

  • Android
  • iOS
  • Linux (lorsqu’il fonctionne avec le thème de plateforme GTK+)
  • macOS
  • Windows

Qt Quick Dialogs utilise une implémentation Qt Quick comme solution de secours sur les plateformes ne disposant pas d’une implémentation native.

Voir également FolderDialog et StandardPaths.

Documentation sur les propriétés

acceptLabel : string

Cette propriété contient le texte de l'étiquette qui s'affiche sur le bouton permettant de valider la boîte de dialogue.

Lorsqu’elle est définie sur une chaîne vide, le libellé par défaut de la plateforme sous-jacente est utilisé. Le libellé par défaut est généralement « Open » ou « Save », selon l’ fileMode e dans laquelle la boîte de dialogue est utilisée.

La valeur par défaut est une chaîne vide.

Voir également rejectLabel.

currentFolder : url

Cette propriété indique le dossier dans lequel les fichiers sont sélectionnés. Elle peut être définie pour contrôler le répertoire initial affiché à l'ouverture de la boîte de dialogue.

Pour sélectionner un dossier, utilisez plutôt la méthode ` FolderDialog `.

defaultSuffix : string

Cette propriété contient un suffixe qui est ajouté aux fichiers sélectionnés pour lesquels aucun suffixe n'est spécifié. 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é.

fileMode : enumeration

Cette propriété détermine le mode de la boîte de dialogue.

Valeurs disponibles :

ConstanteDescription
FileDialog.OpenFileLa boîte de dialogue sert à sélectionner un fichier existant (par défaut).
FileDialog.OpenFilesLa boîte de dialogue permet de sélectionner plusieurs fichiers existants.
FileDialog.SaveFileLa boîte de dialogue permet de sélectionner n'importe quel fichier. Le fichier n'a pas besoin d'exister.

nameFilters : list<string>

Cette propriété contient les filtres qui limitent les types de fichiers pouvant être sélectionnés.

FileDialog {
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

Les différentes plateformes peuvent restreindre les fichiers pouvant être sélectionnés de différentes manières. Par exemple, macOS désactivera les entrées de fichiers qui ne correspondent pas aux filtres, tandis que Windows les masquera.

Remarque : *.* n'est pas un filtre portable, car l'hypothèse historique selon laquelle l'extension de fichier détermine le type de fichier 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 fichiers native de Windows, *.* correspondra à ce type de fichiers, tandis que dans d’autres types de boîtes de dialogue, ce ne sera pas forcément le cas. Il est donc préférable d’utiliser * si vous souhaitez sélectionner n’importe quel fichier.

Voir également selectedNameFilter.

options : flags

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

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

Les options doivent être définies avant l'affichage de la boîte de dialogue. Leur définition alors que la boîte de dialogue est visible ne garantit pas un effet immédiat sur celle-ci (selon l'option et la plateforme).

Options disponibles :

ConstanteDescription
FileDialog.DontResolveSymlinksNe pas résoudre les liens symboliques dans la boîte de dialogue des fichiers. Par défaut, les liens symboliques sont résolus.
FileDialog.DontConfirmOverwriteNe pas demander de confirmation si un fichier existant est sélectionné. Par défaut, une confirmation est demandée.
FileDialog.ReadOnlyIndique que la boîte de dialogue ne permet pas de créer des répertoires.
FileDialog.HideNameFilterDetailsIndique si les détails du filtre de nom de fichier sont masqués ou non.
FileDialog.DontUseNativeDialogForce la boîte de dialogue à utiliser une implémentation rapide non native.

rejectLabel : string

Cette propriété contient le texte de l'étiquette qui s'affiche sur le bouton permettant de fermer la boîte de dialogue.

Lorsqu'elle est définie sur une chaîne vide, le libellé par défaut de la plateforme sous-jacente est utilisé. Le libellé par défaut est généralement « Cancel ».

La valeur par défaut est une chaîne vide.

Voir également acceptLabel.

selectedFile : url

Cette propriété contient le dernier fichier sélectionné dans la boîte de dialogue.

Elle peut être définie pour contrôler le fichier sélectionné à l'ouverture de la boîte de dialogue.

Si plusieurs fichiers sont sélectionnés, cette propriété fait référence au premier fichier.

La valeur de cette propriété est mise à jour chaque fois que l’utilisateur sélectionne un fichier dans la boîte de dialogue, ainsi que lorsque la boîte de dialogue est validée. Traitez le signal ` accepted()` pour obtenir la sélection finale.

Voir également selectedFiles, accepted() et currentFolder.

selectedFiles : list<url>

Cette propriété contient les derniers fichiers sélectionnés dans la boîte de dialogue.

La valeur de cette propriété est mise à jour chaque fois que l'utilisateur sélectionne des fichiers dans la boîte de dialogue, ainsi que lorsque la boîte de dialogue est validée. Traitez le signal accepted() pour obtenir la sélection finale.

Voir également accepted() et currentFolder.

selectedNameFilter group

selectedNameFilter.extensions : list<string>

selectedNameFilter.globs : list<string>

selectedNameFilter.index : int

selectedNameFilter.name : string

Ces propriétés contiennent le filtre de nom actuellement sélectionné.

NomDescription
index: intCette propriété détermine l'name filter sélectionnée. Le filtre spécifié est sélectionné à l'ouverture de la boîte de dialogue. La valeur est mise à jour lorsque l'utilisateur sélectionne un autre filtre.
[en lecture seule] nom: chaîneCette propriété contient le nom du filtre sélectionné. Dans l’exemple ci-dessous, le nom du premier filtre est « "Text files" » et celui du second est « "HTML files" ».
[en lecture seule] extensions: liste<chaîne de caractères>Cette propriété contient la liste des extensions du filtre sélectionné. Dans l'exemple ci-dessous, la liste des extensions du premier filtre est ["txt"] et celle du second est ["html", "htm"].
[en lecture seule] globs: list<string>Cette propriété contient la liste des expressions globales du filtre sélectionné. Dans l'exemple ci-dessous, la liste des expressions globales du premier filtre est ["*.txt"] et celle du second est ["*.html", "*.htm"].

Cette propriété est utile en association avec la propriété « nameFilters » de FolderListModel, par exemple.

FileDialog {
    id: fileDialog
    selectedNameFilter.index: 1
    nameFilters: ["Text files (*.txt)", "HTML files (*.html *.htm)"]
}

MyDocument {
    id: document
    fileType: fileDialog.selectedNameFilter.extensions[0]
}

Voir également nameFilters.

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