En esta página

FolderListModel QML Type

FolderListModel proporciona un modelo del contenido de una carpeta del sistema de archivos. Más...

Import Statement: import Qt.labs.folderlistmodel 2.11

Propiedades

Métodos

Descripción detallada

FolderListModel proporciona acceso a información sobre el contenido de una carpeta en el sistema de archivos local, exponiendo una lista de archivos a vistas y otros componentes de datos.

Nota: Este tipo está disponible mediante la importación del módulo Qt.labs.folderlistmodel. No se garantiza que los elementos del módulo Qt.labs sigan siendo compatibles en futuras versiones.

Nota: Algunas características de FolderListModel dependen de QFileSystemWatcher. Si QFileSystemWatcher está deshabilitado, la carpeta establecida usando setFolder no es vigilada para cambios, lo que resulta en señales típicamente emitidas en cambios de directorio (como directoryUpdated o directoryChanged) que no son emitidas sin llamar manualmente a setFolder de nuevo. Para más información, ver Qt Configure Options.

import Qt.labs.folderlistmodel

La propiedad folder especifica la carpeta a la que acceder. La información sobre los archivos y directorios de la carpeta se proporciona a través de la interfaz del modelo. Los componentes acceden a los nombres y rutas a través de las siguientes funciones:

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

Además, una entrada de archivo puede diferenciarse de una entrada de carpeta mediante el método isFolder().

Filtrado de

Se pueden establecer varias propiedades para filtrar el número de archivos y directorios expuestos por el modelo.

La propiedad nameFilters se puede configurar para que contenga una lista de filtros comodín que se aplican a los nombres de archivos y directorios, haciendo que sólo se expongan aquellos que coincidan con los filtros.

Los directorios pueden incluirse o excluirse utilizando la propiedad showDirs, los directorios de navegación también pueden excluirse estableciendo la propiedad showDotAndDotDot a false, los archivos ocultos pueden incluirse o excluirse utilizando la propiedad showHidden.

A veces es útil limitar los archivos y directorios expuestos a aquellos a los que el usuario puede acceder. La propiedad showOnlyReadable puede ser establecida para habilitar esta característica.

Ejemplo de uso

El siguiente ejemplo muestra un FolderListModel utilizado para proporcionar una lista de archivos QML en 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
}

Separadores de ruta

Qt utiliza "/" como separador universal de directorios del mismo modo que se utiliza "/" como separador de rutas en las URL. Si utiliza siempre "/" como separador de directorios, Qt traducirá sus rutas para adaptarlas al sistema operativo subyacente.

Véase también Modelos de datos QML.

Documentación de propiedades

caseSensitive : bool

Utilizar coincidencia de patrones sensible a mayúsculas y minúsculas.

Por defecto, esta propiedad es true.

count : int [read-only]

Devuelve el número de elementos de la carpeta actual que coinciden con los criterios de filtrado.

folder : url

La propiedad folder contiene una URL para la carpeta que el modelo proporciona actualmente.

El valor debe ser una URL file: o qrc: o una URL relativa.

El valor por defecto es el directorio de trabajo de la aplicación en el momento en que FolderListModel se inicializa por primera vez.

nameFilters : list<string>

La propiedad nameFilters contiene una lista de filtros de nombres de archivo. Los filtros pueden incluir los comodines ? y *.

El ejemplo siguiente filtra los archivos PNG y JPEG:

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

Nota: Los directorios no son excluidos por los filtros.

parentFolder : url [read-only]

Devuelve la URL del padre de la página actual folder.

rootFolder : url

Cuando se establece esta propiedad, la carpeta dada será tratada como la raíz en el sistema de archivos, de modo que sólo se puede recorrer subcarpetas dentro de ella.

showDirs : bool

Si es true, los directorios se incluyen en el modelo; en caso contrario, sólo se incluyen los ficheros.

Por defecto, esta propiedad es true.

Tenga en cuenta que nameFilters no se aplica a los directorios.

Véase también showDotAndDotDot.

showDirsFirst : bool

Si es true, si se incluyen directorios en el modelo siempre se mostrarán primero, y después los ficheros.

Por defecto, esta propiedad es false.

showDotAndDotDot : bool

Si es verdadero, los directorios "." y ".." se incluyen en el modelo; en caso contrario, se excluyen.

Por defecto, esta propiedad es false.

Véase también showDirs.

showFiles : bool

Si es true, los ficheros se incluyen en el modelo; en caso contrario, sólo se incluyen los directorios.

Por defecto, esta propiedad es true.

Véase también showDirs.

showHidden : bool

Si es verdadero, los archivos y directorios ocultos se incluyen en el modelo; en caso contrario, se excluyen.

Por defecto, esta propiedad es false.

showOnlyReadable : bool

Si es true, sólo se muestran los archivos y directorios legibles; en caso contrario, se muestran todos los archivos y directorios.

Por defecto, esta propiedad es false.

Véase también showDirs.

sortCaseSensitive : bool

Si se establece en true, la ordenación distingue entre mayúsculas y minúsculas. Esta propiedad es true por defecto.

sortField : enumeration

La propiedad sortField contiene el campo a utilizar para la ordenación. sortField puede ser una de:

ConstanteDescripción
FolderListModel.Unsortedno se aplica ordenación
FolderListModel.Nameordenar por nombre de fichero (por defecto)
FolderListModel.Timeordenar por hora de modificación
FolderListModel.Sizeordenar por tamaño de archivo
FolderListModel.Typeordenar por tipo/extensión de archivo

Véase también sortReversed.

sortReversed : bool

Si se establece en true, invierte el orden de clasificación. El valor por defecto es false.

Véase también sortField.

status : enumeration [read-only]

Esta propiedad contiene el estado de lectura de la carpeta. Puede ser uno de los siguientes

ConstanteDescripción
FolderListModel.Nullno se ha configurado folder
FolderListModel.Readyla carpeta ha sido cargada
FolderListModel.Loadingla carpeta se está cargando actualmente

Utilice este estado para proporcionar una actualización o responder al cambio de estado de alguna manera. Por ejemplo, podría

  • Activar un cambio de estado:
    State { name: 'loaded'; when: folderModel.status == FolderListModel.Ready }
  • Implementar un manejador de señales onStatusChanged:
    FolderListModel {
        id: folderModel
        onStatusChanged: if (folderModel.status == FolderListModel.Ready) console.log('Loaded')
    }
  • Vincular al valor de estado:
    Text { text: folderModel.status == FolderListModel.Ready ? 'Loaded' : 'Not loaded' }

Documentación del método

var get(int index, string property)

Devuelve la carpeta property para el index dado. Las siguientes propiedades están disponibles:

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

int indexOf(url file)

Devuelve el índice de la URL file dada si el modelo la contiene, o -1 en caso contrario.

bool isFolder(int index)

Devuelve true si la entrada index es una carpeta; en caso contrario devuelve 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.