Auf dieser Seite

FolderListModel QML Type

Das „FolderListModel“ stellt ein Modell des Inhalts eines Dateisystemordners bereit. Mehr...

Import Statement: import Qt.labs.folderlistmodel

Eigenschaften

Methoden

Ausführliche Beschreibung

FolderListModel bietet Zugriff auf Informationen zum 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 kann nicht garantiert werden, dass Elemente im Modul „Qt.labs“ in zukünftigen Versionen kompatibel bleiben.

Hinweis: Einige Funktionen von `FolderListModel` hängen von ` QFileSystemWatcher` ab. Ist ` QFileSystemWatcher ` deaktiviert, wird der mit ` setFolder ` festgelegte Ordner nicht auf Änderungen überwacht, was dazu führt, dass Signale, die normalerweise bei Verzeichnisänderungen ausgelöst werden (wie `directoryUpdated` oder `directoryChanged`), nicht ausgelöst werden, sofern ` setFolder ` nicht manuell erneut aufgerufen wird. Weitere Informationen finden Sie unter „Qt-Konfigurationsoptionen“.

import Qt.labs.folderlistmodel

Die Eigenschaft „ folder “ gibt den Ordner an, auf den zugegriffen werden soll. Informationen zu den Dateien und Verzeichnissen in diesem Ordner werden über die Schnittstelle des Modells bereitgestellt. Komponenten greifen über die folgenden Rollen auf Namen und Pfade zu:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (seit Qt 5.15)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

Zudem lässt sich ein Dateieintrag mithilfe der Methode ` isFolder()` von einem Ordnereintrag unterscheiden.

Filterung

Es können verschiedene Eigenschaften festgelegt werden, um die Anzahl der vom Modell bereitgestellten Dateien und Verzeichnisse zu filtern.

Die Eigenschaft „ nameFilters “ kann so festgelegt werden, dass sie eine Liste von Platzhalterfiltern enthält, die auf die Namen von Dateien und Verzeichnissen angewendet werden, sodass nur diejenigen angezeigt werden, die den Filtern entsprechen.

Verzeichnisse können mithilfe der Eigenschaft „ showDirs “ ein- oder ausgeschlossen werden; Navigationsverzeichnisse können zudem ausgeschlossen werden, indem die Eigenschaft „ showDotAndDotDot “ auf „false“ gesetzt wird; versteckte Dateien können mithilfe 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 Zugriff hat. Die Eigenschaft „ showOnlyReadable “ kann gesetzt werden, um diese Funktion zu aktivieren.

Anwendungsbeispiel

Das folgende Beispiel zeigt die Verwendung eines „FolderListModel“, 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
}

Pfadtrennzeichen

Qt verwendet „/“ als universelles Verzeichnistrennzeichen, genauso wie „/“ als Pfadtrennzeichen in URLs verwendet wird. Wenn Sie stets „/“ als Verzeichnistrennzeichen verwenden, wandelt Qt Ihre Pfade so um, dass sie dem zugrunde liegenden Betriebssystem entsprechen.

Siehe auch QML-Datenmodelle.

Dokumentation zu Eigenschaften

caseSensitive : bool

Groß-/Kleinschreibung beim Musterabgleich berücksichtigen.

Standardmäßig ist diese Eigenschaft auf „true“ gesetzt.

count : int [read-only]

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 URL im Format file: oder qrc: oder eine relative URL sein.

Der Standardwert ist das Arbeitsverzeichnis der Anwendung zum Zeitpunkt der ersten Initialisierung von ` FolderListModel `.

nameFilters : list<string>

Die Eigenschaft „ nameFilters “ enthält eine Liste von Dateinamenfiltern. Die Filter können die Platzhalter „?“ und „*“ enthalten.

Das folgende Beispiel filtert nach PNG- und JPEG-Dateien:

FolderListModel {
    nameFilters: [ "*.png", "*.jpg" ]
}

Hinweis: Verzeichnisse werden von den Filtern nicht ausgeschlossen.

parentFolder : url [read-only]

Gibt die URL des übergeordneten Elements des aktuellen „ folder “ zurück.

rootFolder : url

Wenn diese Eigenschaft gesetzt ist, wird der angegebene Ordner als Stammverzeichnis des Dateisystems behandelt, sodass Sie nur die darin enthaltenen Unterordner durchlaufen können.

showDirs : bool

Wenn „true“, werden Verzeichnisse in das Modell einbezogen; andernfalls werden nur Dateien einbezogen.

Standardmäßig ist diese Eigenschaft auf „true“ gesetzt.

Beachten Sie, dass die „ nameFilters “ nicht auf Verzeichnisse angewendet werden.

Siehe auch „ showDotAndDotDot “.

showDirsFirst : bool

Wenn „true“ angegeben ist, werden Verzeichnisse, sofern sie im Modell enthalten sind, immer zuerst angezeigt, danach die Dateien.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.

showDot : bool [since 6.12]

Wenn „true“, wird das aktuelle Verzeichnis „.“ in das Modell aufgenommen.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.

Diese Eigenschaft wurde in Qt 6.12 eingeführt.

Siehe auch showDotAndDotDot und showDotDot.

showDotAndDotDot : bool

Wenn „true“, werden die Verzeichnisse „.“ und „..“ in das Modell einbezogen; andernfalls werden sie ausgeschlossen.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.

Siehe auch showDirs, showDot und showDotDot.

showDotDot : bool [since 6.12]

Wenn „true“, wird das Verzeichnis „..“ (übergeordnetes Verzeichnis) in das Modell aufgenommen.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.

Diese Eigenschaft wurde in Qt 6.12 eingeführt.

Siehe auch showDotAndDotDot und showDot.

showFiles : bool

Wenn „true“, werden Dateien in das Modell einbezogen; 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 einbezogen; andernfalls werden sie ausgeschlossen.

Standardmäßig ist diese Eigenschaft auf „false“ gesetzt.

showOnlyReadable : bool

Wenn „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

Bei der Einstellung „ true “ wird bei der Sortierung die Groß-/Kleinschreibung berücksichtigt. Diese Eigenschaft ist standardmäßig auf „ true “ gesetzt.

sortField : enumeration

Die Eigenschaft „ sortField “ enthält das Feld, das für die Sortierung verwendet werden soll. „ sortField “ kann einen der folgenden Werte annehmen:

KonstanteBeschreibung
FolderListModel.UnsortedEs wird keine Sortierung angewendet
FolderListModel.NameNach Dateinamen sortieren (Standard)
FolderListModel.TimeNach Änderungsdatum sortieren
FolderListModel.SizeNach Dateigröße sortieren
FolderListModel.TypeNach Dateityp/Dateiendung sortieren

Siehe auch sortReversed.

sortReversed : bool

Wenn auf „true“ gesetzt, wird die Sortierreihenfolge umgekehrt. Der Standardwert ist „false“.

Siehe auch sortField.

status : enumeration [read-only]

Diese Eigenschaft gibt den Status des Ordnerlesens an. Sie kann einen der folgenden Werte annehmen:

KonstanteBeschreibung
FolderListModel.NullEs wurde kein „ folder “ festgelegt
FolderListModel.ReadyDer Ordner wurde geladen
FolderListModel.LoadingDer Ordner wird gerade geladen

Verwenden Sie diesen Status, um eine Aktualisierung bereitzustellen oder auf die Statusänderung in irgendeiner Weise zu reagieren. Sie könnten beispielsweise:

  • Eine Statusänderung auslösen:
    State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready }
  • Einen Signal-Handler für „ onStatusChanged “ implementieren:
    FolderListModel {
        id: folderModel
        onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded')
    }
  • Eine Bindung an den Statuswert herstellen:
    Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }

Methodendokumentation

var get(int index, string property)

Gibt den Ordner „ property “ für die angegebene „ index “ zurück. Die folgenden Eigenschaften sind verfügbar:

  • fileName (string)
  • filePath (string)
  • fileUrl (url) (seit Qt 5.15)
  • fileBaseName (string)
  • fileSuffix (string)
  • fileSize (qlonglong)
  • fileModified (date)
  • fileAccessed (date)
  • fileIsDir (bool)

int indexOf(url file)

Gibt den Index der angegebenen URL „ file “ zurück, sofern das Modell diese enthält, andernfalls -1.

bool isFolder(int index)

Gibt „true“ zurück, wenn der Eintrag „ index “ ein Ordner ist; andernfalls wird „false“ zurückgegeben.

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