Как указать содержимое папки в Qml?

3

Я пытаюсь переписать часть заметок-приложения, чтобы хранить заметки непосредственно в файловой системе. Но я хотел бы иметь возможность перечислять файлы в папке, а не для их отображения, но обрабатывать их в javascript-функции.

    
задан Alexandre Roux 27.10.2013 в 17:56
источник

1 ответ

5

Вот краткий пример того, как отображать содержимое папки с помощью 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
            }
        }
    }
}

Похоже:

Теперь, конечно, вы хотите что-то сделать с этой информацией. К сожалению, вы не можете перебирать модель так же просто, как вам хотелось бы , описанный в этом посте в блоге разработчика Beru . Он помогает показать, как использовать компонент Repeater :

    Repeater {
        model: folderModel

        Component {
            Item {
                Component.onCompleted: {
                    // Do something interesting here...
                    console.log(fileName)
                }
            }
        }
    } 
    
ответ дан andrewsomething 14.11.2013 в 01:03