FolderListModel QML Type

Das FolderListModel bietet ein Modell des Inhalts eines Dateisystemordners. Mehr...

Import Statement: import Qt.labs.folderlistmodel 2.8

Eigenschaften

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 [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 file: oder qrc sein: URL, 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 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.


parentFolder : url [read-only]

Gibt die URL der übergeordneten Datei des aktuellen folder zurück.


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:

KonstanteBeschreibung
FolderListModel.Unsortedes wird keine Sortierung vorgenommen
FolderListModel.NameSortierung nach Dateiname (Standard)
FolderListModel.TimeSortierung nach Änderungszeit
FolderListModel.Sizenach Dateigröße sortieren
FolderListModel.TypeSortieren nach Dateityp/Erweiterung

Siehe auch sortReversed.


sortReversed : bool

Bei true wird die Sortierreihenfolge umgekehrt. Der Standardwert ist false.

Siehe auch sortField.


status : enumeration [read-only]

Diese Eigenschaft enthält den Lesestatus des Ordners. Sie kann eine der folgenden sein:

KonstanteBeschreibung
FolderListModel.Nullkeine folder wurde gesetzt
FolderListModel.Readyder Ordner wurde geladen
FolderListModel.Loadingder 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

var get(int index, string property)

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)

int indexOf(url file)

Gibt den Index der angegebenen URL file zurück, wenn das Modell sie enthält, oder -1, wenn nicht.


bool isFolder(int index)

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.