3 votes

Comment lister le contenu d'un dossier en Qml ?

J'essaie de réécrire une partie de l'application Notes afin de stocker les notes directement dans le système de fichiers. Mais j'aimerais pouvoir lister les fichiers dans un dossier, non pas pour les afficher, mais pour les traiter dans une fonction javascript.

5voto

Ghirai Points 11

Voici un exemple rapide de la façon d'afficher le contenu d'un dossier à l'aide d'un fichier de type FolderListModel :

import QtQuick 2.0
import Qt.labs.folderlistmodel 1.0
import Ubuntu.Components 0.1
import Ubuntu.Components.ListItems 0.1 as ListItem

MainView {
    id: root
    width: units.gu(50)
    height: units.gu(75)

    Page {
        id: home
        visible: true
        title: "Files"

        FolderListModel {
            id: folderModel
            folder: "/"
            nameFilters: [ "*" ]
        }

        ListView {
            anchors.fill: parent
            model: folderModel
            delegate: ListItem.Standard {
                text: model.fileName
            }
        }
    }
}

On dirait :

folder view

Maintenant, bien sûr, vous voulez faire quelque chose avec cette information. Malheureusement, il n'est pas possible d'itérer sur le modèle aussi simplement que vous le souhaiteriez. expliqué dans ce billet sur le blog du développeur Beru . Il montre utilement comment utiliser le Repeater composant :

    Repeater {
        model: folderModel

        Component {
            Item {
                Component.onCompleted: {
                    // Do something interesting here...
                    console.log(fileName)
                }
            }
        }
    }

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X