FolderListModel QML Type
Das FolderListModel bietet ein Modell des Inhalts eines Dateisystemordners. Mehr...
Import Statement: | import Qt.labs.folderlistmodel 2.8 |
Eigenschaften
- caseSensitive : bool
- count : int
- folder : url
- nameFilters : list<string>
- parentFolder : url
- rootFolder : url
- showDirs : bool
- showDirsFirst : bool
- showDotAndDotDot : bool
- showFiles : bool
- showHidden : bool
- showOnlyReadable : bool
- sortCaseSensitive : bool
- sortField : enumeration
- sortReversed : bool
- status : enumeration
Methoden
Detaillierte Beschreibung
FolderListModel ermöglicht den Zugriff auf Informationen über den Inhalt eines Ordners im lokalen Dateisystem und stellt eine Liste von Dateien für Ansichten und andere Datenkomponenten bereit.
Hinweis: Dieser Typ wird durch den Import des Moduls Qt.labs.folderlistmodel
verfügbar gemacht. Es ist nicht garantiert, dass die Elemente des Qt.labs-Moduls in zukünftigen Versionen kompatibel bleiben.
Hinweis: Einige Funktionen in FolderListModel hängen von QFileSystemWatcher ab. Wenn QFileSystemWatcher deaktiviert ist, wird der mit setFolder
eingestellte Ordner nicht auf Änderungen überwacht, was dazu führt, dass Signale, die normalerweise bei Verzeichnisänderungen ausgegeben werden (wie directoryUpdated oder directoryChanged), nicht ausgegeben werden, ohne dass setFolder
erneut manuell aufgerufen werden muss. Für weitere Informationen, siehe Qt Configure Options.
import Qt.labs.folderlistmodel
Die Eigenschaft folder gibt den Ordner an, auf den zugegriffen werden soll. Informationen über die Dateien und Verzeichnisse in diesem Ordner werden über die Schnittstelle des Modells bereitgestellt. Komponenten greifen auf Namen und Pfade über die folgenden Rollen zu:
fileName
(string
)filePath
(string
)fileURL
(url
) (seit Qt 5.2; veraltet seit Qt 5.15)fileUrl
(url
) (seit Qt 5.15)fileBaseName
(string
)fileSuffix
(string
)fileSize
(qlonglong
)fileModified
(date
)fileAccessed
(date
)fileIsDir
(bool
)
Zusätzlich kann ein Dateieintrag von einem Ordnereintrag über die Methode isFolder() unterschieden werden.
Filtern
Es können verschiedene Eigenschaften festgelegt werden, um die Anzahl der vom Modell angezeigten Dateien und Verzeichnisse zu filtern.
Die Eigenschaft nameFilters kann so eingestellt werden, dass sie eine Liste von Platzhalterfiltern enthält, die auf die Namen von Dateien und Verzeichnissen angewendet werden, so dass nur die Dateien und Verzeichnisse angezeigt werden, die den Filtern entsprechen.
Verzeichnisse können mit der Eigenschaft showDirs ein- oder ausgeschlossen werden, Navigationsverzeichnisse können auch ausgeschlossen werden, indem die Eigenschaft showDotAndDotDot auf false gesetzt wird, versteckte Dateien können mit der Eigenschaft showHidden ein- oder ausgeschlossen werden.
Manchmal ist es sinnvoll, die angezeigten Dateien und Verzeichnisse auf diejenigen zu beschränken, auf die der Benutzer zugreifen kann. Die Eigenschaft showOnlyReadable kann gesetzt werden, um diese Funktion zu aktivieren.
Beispielverwendung
Das folgende Beispiel zeigt ein FolderListModel, das verwendet wird, um eine Liste von QML-Dateien in einem ListView bereitzustellen:
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 }
Pfad-Trennzeichen
Qt verwendet "/" als universelles Verzeichnis-Trennzeichen, so wie "/" als Pfad-Trennzeichen in URLs verwendet wird. Wenn Sie immer "/" als Verzeichnistrennzeichen verwenden, wird Qt Ihre Pfade so übersetzen, dass sie dem zugrunde liegenden Betriebssystem entsprechen.
Siehe auch QML-Datenmodelle.
Dokumentation der Eigenschaften
caseSensitive : bool |
Groß- und Kleinschreibung beim Mustervergleich berücksichtigen.
Standardmäßig ist diese Eigenschaft auf true gesetzt.
count : int |
Gibt die Anzahl der Elemente im aktuellen Ordner zurück, die den Filterkriterien entsprechen.
folder : url |
Die Eigenschaft folder enthält eine URL für den Ordner, den das Modell derzeit bereitstellt.
Der Wert muss eine file
: oder qrc
sein: URL, oder eine relative URL sein.
Der Standardwert ist das Arbeitsverzeichnis der Anwendung zum Zeitpunkt der ersten Initialisierung von FolderListModel.
Die Eigenschaft nameFilters enthält eine Liste von Filtern für Dateinamen. Die Filter können die Wildcards ? und * enthalten.
Das folgende Beispiel filtert nach PNG- und JPEG-Dateien:
FolderListModel { nameFilters: [ "*.png", "*.jpg" ] }
Hinweis: Verzeichnisse werden von Filtern nicht ausgeschlossen.
rootFolder : url |
Wenn diese Eigenschaft gesetzt ist, wird der angegebene Ordner als Stammordner im Dateisystem behandelt, so dass Sie nur Unterordner innerhalb dieses Ordners durchsuchen können.
showDirs : bool |
Bei true werden Verzeichnisse in das Modell aufgenommen, andernfalls werden nur Dateien einbezogen.
Standardmäßig ist diese Eigenschaft true.
Beachten Sie, dass die nameFilters nicht auf Verzeichnisse angewendet wird.
Siehe auch showDotAndDotDot.
showDirsFirst : bool |
Wenn true, werden Verzeichnisse immer zuerst angezeigt, wenn sie in das Modell aufgenommen werden, dann die Dateien.
Standardmäßig ist diese Eigenschaft falsch.
showDotAndDotDot : bool |
Wenn true, werden die Verzeichnisse "." und ".." in das Modell aufgenommen, andernfalls werden sie ausgeschlossen.
Standardmäßig ist diese Eigenschaft auf false gesetzt.
Siehe auch showDirs.
showFiles : bool |
Bei true werden Dateien in das Modell aufgenommen, andernfalls werden nur Verzeichnisse einbezogen.
Standardmäßig ist diese Eigenschaft auf true gesetzt.
Siehe auch showDirs.
showHidden : bool |
Wenn true, werden versteckte Dateien und Verzeichnisse in das Modell aufgenommen, andernfalls werden sie ausgeschlossen.
Standardmäßig ist diese Eigenschaft auf false gesetzt.
showOnlyReadable : bool |
Bei true werden nur lesbare Dateien und Verzeichnisse angezeigt, andernfalls werden alle Dateien und Verzeichnisse angezeigt.
Standardmäßig ist diese Eigenschaft auf false gesetzt.
Siehe auch showDirs.
sortCaseSensitive : bool |
Wenn diese Eigenschaft auf true
gesetzt ist, wird bei der Sortierung die Groß- und Kleinschreibung beachtet. Diese Eigenschaft ist standardmäßig true
.
sortField : enumeration |
Die Eigenschaft sortField enthält das für die Sortierung zu verwendende Feld. sortField
kann eines der folgenden sein:
Konstante | Beschreibung |
---|---|
FolderListModel.Unsorted | es wird keine Sortierung vorgenommen |
FolderListModel.Name | Sortierung nach Dateiname (Standard) |
FolderListModel.Time | Sortierung nach Änderungszeit |
FolderListModel.Size | nach Dateigröße sortieren |
FolderListModel.Type | Sortieren nach Dateityp/Erweiterung |
Siehe auch sortReversed.
sortReversed : bool |
Bei true wird die Sortierreihenfolge umgekehrt. Der Standardwert ist false.
Siehe auch sortField.
status : enumeration |
Diese Eigenschaft enthält den Lesestatus des Ordners. Sie kann eine der folgenden sein:
Konstante | Beschreibung |
---|---|
FolderListModel.Null | keine folder wurde gesetzt |
FolderListModel.Ready | der Ordner wurde geladen |
FolderListModel.Loading | der Ordner wird gerade geladen |
Verwenden Sie diesen Status, um eine Aktualisierung vorzunehmen oder auf irgendeine Weise auf die Statusänderung zu reagieren. Zum Beispiel könnten Sie:
- Eine Statusänderung auslösen:
State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready }
- Implementieren Sie einen
onStatusChanged
Signalhandler:FolderListModel { id: folderModel onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded') }
- Bindung an den Statuswert:
Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }
Dokumentation der Methode
Gibt den Ordner property für den angegebenen index zurück. Die folgenden Eigenschaften sind verfügbar:
fileName
(string
)filePath
(string
)fileURL
(url
) (seit Qt 5.2; veraltet seit Qt 5.15)fileUrl
(url
) (seit Qt 5.15)fileBaseName
(string
)fileSuffix
(string
)fileSize
(qlonglong
)fileModified
(date
)fileAccessed
(date
)fileIsDir
(bool
)
Gibt den Index der angegebenen URL file zurück, wenn das Modell sie enthält, oder -1, wenn nicht.
Gibt true zurück, wenn der Eintrag index ein Ordner ist; andernfalls wird false zurückgegeben.
© 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.