FolderListModel QML Type
Le FolderListModel fournit un modèle du contenu d'un dossier du système de fichiers. En savoir plus...
| Import Statement: | import Qt.labs.folderlistmodel |
Propriétés
- caseSensitive : bool
- count : int
- folder : url
- nameFilters : list<string>
- parentFolder : url
- rootFolder : url
- showDirs : bool
- showDirsFirst : bool
- showDot : bool
(since 6.12) - showDotAndDotDot : bool
- showDotDot : bool
(since 6.12) - showFiles : bool
- showHidden : bool
- showOnlyReadable : bool
- sortCaseSensitive : bool
- sortField : enumeration
- sortReversed : bool
- status : enumeration
Méthodes
Description détaillée
FolderListModel permet d'accéder aux informations relatives au contenu d'un dossier du système de fichiers local, en mettant à disposition une liste de fichiers pour les vues et autres composants de données.
Remarque : ce type est disponible après importation du module Qt.labs.folderlistmodel. La compatibilité des éléments du module Qt.labs n'est pas garantie dans les versions futures.
Remarque : certaines fonctionnalités de FolderListModel dépendent de QFileSystemWatcher. Si QFileSystemWatcher est désactivé, le dossier défini à l’aide de setFolder n’est pas surveillé pour détecter les modifications, ce qui a pour conséquence que les signaux généralement émis lors des modifications de répertoire (tels que directoryUpdated ou directoryChanged) ne sont pas émis sans appeler à nouveau manuellement setFolder. Pour plus d’informations, consultez les options de configuration Qt.
import Qt.labs.folderlistmodelLa propriété folder spécifie le dossier auquel accéder. Les informations concernant les fichiers et répertoires contenus dans ce dossier sont fournies via l’interface du modèle. Les composants accèdent aux noms et chemins d’accès via les rôles suivants :
fileName(string)filePath(string)fileUrl(url) (depuis Qt 5.15)fileBaseName(string)fileSuffix(string)fileSize(qlonglong)fileModified(date)fileAccessed(date)fileIsDir(bool)
De plus, il est possible de distinguer une entrée de fichier d’une entrée de dossier à l’aide de la méthode isFolder().
Filtrage
Diverses propriétés peuvent être définies pour filtrer le nombre de fichiers et de répertoires exposés par le modèle.
La propriété nameFilters peut être définie pour contenir une liste de filtres à caractères génériques qui s’appliquent aux noms des fichiers et des répertoires, ce qui fait que seuls ceux qui correspondent aux filtres sont exposés.
Les répertoires peuvent être inclus ou exclus à l’aide de la propriété ` showDirs ` ; les répertoires de navigation peuvent également être exclus en définissant la propriété ` showDotAndDotDot ` sur `false` ; les fichiers cachés peuvent être inclus ou exclus à l’aide de la propriété ` showHidden `.
Il est parfois utile de limiter les fichiers et répertoires affichés à ceux auxquels l’utilisateur a accès. La propriété ` showOnlyReadable ` peut être définie pour activer cette fonctionnalité.
Exemple d'utilisation
L'exemple suivant montre l'utilisation d'un `FolderListModel` pour fournir une liste de fichiers QML dans un ` ListView` :
import QtQuick
import Qt.labs.folderlistmodel
ListView {
width: 200; height: 400
FolderListModel {
id: folderModel
nameFilters: ["*.qml"]
}
Component {
id: fileDelegate
required property string fileName
Text { text: fileName }
}
model: folderModel
delegate: fileDelegate
}Séparateurs de chemin
Qt utilise « / » comme séparateur de répertoires universel, de la même manière que « / » est utilisé comme séparateur de chemin dans les URL. Si vous utilisez toujours « / » comme séparateur de répertoires, Qt convertira vos chemins pour les adapter au système d'exploitation sous-jacent.
Voir également Modèles de données QML.
Documentation sur les propriétés
caseSensitive : bool
Activer la correspondance de motifs sensible à la casse.
Par défaut, cette propriété est définie sur « true ».
count : int [read-only]
Renvoie le nombre d'éléments du dossier actuel qui correspondent aux critères de filtrage.
folder : url
La propriété folder contient l'URL du dossier actuellement fourni par le modèle.
La valeur doit être une URL de type file: ou qrc:, ou une URL relative.
La valeur par défaut est le répertoire de travail de l'application au moment de la première initialisation de l'FolderListModel.
nameFilters : list<string>
La propriété « nameFilters » contient une liste de filtres de noms de fichiers. Ces filtres peuvent inclure les caractères génériques « ? » et « * ».
L'exemple ci-dessous filtre les fichiers PNG et JPEG :
FolderListModel {
nameFilters: [ "*.png", "*.jpg" ]
}Remarque : les répertoires ne sont pas exclus par les filtres.
parentFolder : url [read-only]
Renvoie l'URL du parent de l'folder e actuel.
rootFolder : url
Lorsque cette propriété est définie, le dossier indiqué sera considéré comme la racine du système de fichiers, ce qui vous permettra de ne parcourir que les sous-dossiers qu'il contient.
showDirs : bool
Si cette valeur est « true », les répertoires sont inclus dans le modèle ; sinon, seuls les fichiers sont inclus.
Par défaut, cette propriété est définie sur « true ».
Notez que les nameFilters ne s’appliquent pas aux répertoires.
Voir aussi « showDotAndDotDot ».
showDirsFirst : bool
Si cette valeur est définie sur « true », les répertoires inclus dans le modèle s'afficheront toujours en premier, suivis des fichiers.
Par défaut, cette propriété est définie sur « false ».
showDot : bool [since 6.12]
Si cette valeur est définie sur « true », le répertoire courant « . » sera inclus dans le modèle.
Par défaut, cette propriété est définie sur « false ».
Cette propriété a été introduite dans Qt 6.12.
Voir également showDotAndDotDot et showDotDot.
showDotAndDotDot : bool
Si cette valeur est vraie, les répertoires « . » et « .. » sont inclus dans le modèle ; dans le cas contraire, ils en sont exclus.
Par défaut, cette propriété est définie sur « false ».
Voir également showDirs, showDot et showDotDot.
showDotDot : bool [since 6.12]
Si cette valeur est définie sur « true », le répertoire « .. » (répertoire parent) sera inclus dans le modèle.
Par défaut, cette propriété est définie sur « false ».
Cette propriété a été introduite dans Qt 6.12.
Voir également showDotAndDotDot et showDot.
showFiles : bool
Si cette valeur est « true », les fichiers sont inclus dans le modèle ; sinon, seuls les répertoires sont inclus.
Par défaut, cette propriété est définie sur « true ».
Voir aussi showDirs.
showHidden : bool
Si cette valeur est définie sur « true », les fichiers et répertoires cachés sont inclus dans le modèle ; dans le cas contraire, ils en sont exclus.
Par défaut, cette propriété est définie sur « false ».
showOnlyReadable : bool
Si cette valeur est définie sur « true », seuls les fichiers et répertoires accessibles en lecture sont affichés ; dans le cas contraire, tous les fichiers et répertoires sont affichés.
Par défaut, cette propriété est définie sur « false ».
Voir aussi showDirs.
sortCaseSensitive : bool
Si la valeur définie est « true », le tri tient compte de la casse. Par défaut, cette propriété est définie sur « true ».
sortField : enumeration
La propriété « sortField » contient le champ à utiliser pour le tri. La valeur « sortField » peut prendre l'une des valeurs suivantes :
| Constante | Description |
|---|---|
FolderListModel.Unsorted | aucun tri n'est appliqué |
FolderListModel.Name | tri par nom de fichier (par défaut) |
FolderListModel.Time | tri par date de modification |
FolderListModel.Size | trier par taille de fichier |
FolderListModel.Type | trier par type de fichier/extension |
Voir aussi sortReversed.
sortReversed : bool
Si cette option est définie sur « true », l'ordre de tri est inversé. La valeur par défaut est « false ».
Voir également sortField.
status : enumeration [read-only]
Cette propriété indique l'état de lecture du dossier. Elle peut prendre l'une des valeurs suivantes :
| Constante | Description |
|---|---|
FolderListModel.Null | aucune folder n n’a été définie |
FolderListModel.Ready | le dossier a été chargé |
FolderListModel.Loading | le dossier est en cours de chargement |
Utilisez cet état pour fournir une mise à jour ou réagir d’une manière ou d’une autre au changement d’état. Par exemple, vous pourriez :
- Déclencher un changement d'état :
State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready } - Implémenter un gestionnaire de signal «
onStatusChanged» :FolderListModel { id: folderModel onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded') } - Lier la valeur du statut :
Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }
Documentation de la méthode
var get(int index, string property)
Renvoie le dossier « property » correspondant à l'index. Les propriétés suivantes sont disponibles :
fileName(string)filePath(string)fileUrl(url) (depuis Qt 5.15)fileBaseName(string)fileSuffix(string)fileSize(qlonglong)fileModified(date)fileAccessed(date)fileIsDir(bool)
int indexOf(url file)
Renvoie l'index de l'URL « file » fournie si le modèle la contient, ou -1 dans le cas contraire.
bool isFolder(int index)
Renvoie « true » si l'entrée index est un dossier ; sinon, renvoie « false ».
© 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.