QML之FolderListModel用法

FolderListModel是QT提供的一個可以訪問本地系統文件夾內容的組件,它可以將獲取到的信息提供給別的組件使用。


注意:使用前需要導入Qt.labs.folderlistmodel模塊。


Rectangle {
        height: 400
        width: 400
        anchors.centerIn: parent
        FolderListModel
        {
            id: foldermodel
            folder: "./PageObc"    //需要解析的文件夾
            showDirs: true         //是否顯示文件夾。默認爲真
            showDotAndDotDot: false //如果爲真,"." and ".."目錄被包含在model中,否則被排除。默認爲假
            nameFilters: ["*.qml","*.png"]  //篩選過濾作用,注意的是目錄不會被過濾排除
            sortField: FolderListModel.Type //設置排序模式,是一個枚舉值,下面進行講解
            showOnlyReadable: true
            sortReversed: false      //如果爲真,逆轉排序順序。默認爲假


        }


        Component {


                id: fileDelegate


                Text {
                    text: index + "/" + foldermodel.count + "  " + fileName //count 過濾後的文件個數
                    color: foldermodel.isFolder(index)? "red" : "blue" //判斷是否文件夾
                    font.pixelSize: 20
                }
            }


        ListView{
            width: 200
            height: 200
            anchors.centerIn: parent
            model: foldermodel
            delegate: fileDelegate
        }
    }




補充說明:
sortField :enumeration


sortField包含用於排序的域,它可能是下面的一個值:


Unsorted - 不排序


Name - 按文件名排序


LastModified- 按修改時間排序


Size - 按文件尺寸排序


Type - 按文件類型排序(擴展名)




folder屬性指明訪問的文件夾。文件夾中文件和目錄的信息經由model接口提供。該model組件經下面的標識訪問名字和路徑:


fileName


filePath


fileURL(since Qt 5.2)


fileBaseName


fileSuffix


fileSize


fileModified


fileAccessed


fileIsDir


另外,附加的方法isFolder(),能用來區分入口是文件還是目錄
發佈了30 篇原創文章 · 獲贊 29 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章