Como listar o conteúdo da pasta em Qml?

3

Estou tentando reescrever uma parte do aplicativo de anotações para armazenar anotações diretamente no sistema de arquivos. Mas eu gostaria de poder listar arquivos em uma pasta, não para exibi-los, mas para processá-los em uma função javascript.

    
por Alexandre Roux 27.10.2013 / 17:56

1 resposta

5

Veja um exemplo rápido de como exibir o conteúdo de uma pasta usando um 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
            }
        }
    }
}

Parece:

Agora, claro, você quer fazer algo com essa informação. Infelizmente, não é possível interagir com o modelo da maneira mais simples que você deseja como explicado neste post no blog do desenvolvedor do Beru . Ele mostra como usar o componente Repeater :

    Repeater {
        model: folderModel

        Component {
            Item {
                Component.onCompleted: {
                    // Do something interesting here...
                    console.log(fileName)
                }
            }
        }
    } 
    
por andrewsomething 14.11.2013 / 01:03