QML中展示文件列表的listmodel:FolderListModel

import QtQuick 2.6
import QtQuick.Window 2.2
import Qt.labs.folderlistmodel 2.1
import QtQuick.Controls 1.4

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Button
    {
        id:btn;
        text: "back";
        x:20;
        y:10;
        onClicked:
        {
            if(folderList.folders.length > 0)
            {
                folderList.folder = folderList.folders[folderList.folders.length-1];
                folderList.folders.splice(folderList.folders.length-1,1);
            }
            else
            {
                console.debug("root")
            }
        }
    }

    ListView
    {
        id:list;
        anchors.fill: parent;
        anchors.topMargin: btn.height + 20
        anchors.leftMargin: 20
        spacing: 20
        //展示文件列表的listmodel
        model: FolderListModel
        {
            id:folderList;
            property var folders:[];
            folder:"file:///" + "E:/work/src/NSOMClient/resource/";
            nameFilters: ["*.qml","*.png"];//要展示的文件后缀
        }
        delegate: Text
        {
            id:wrapper;
            text: fileName
            MouseArea
            {
                id:mos;
                enabled:fileIsDir;
                anchors.fill: parent;
                onClicked:
                {
                    folderList.folders.push(folderList.folder);
                    folderList.folder += fileName + "/";
                }
            }
        }
    }
}

猜你喜欢

转载自blog.csdn.net/wei375653972/article/details/78837833