欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

QML:文件夹列表模型(访问本地系统文件)

最编程 2024-10-08 21:29:38
...

目录

一.性质

1.导入模块

2.基本属性

3.数据模型接口

4.方法

二.使用

1.引入

2.调用

三.效果

四.代码


一.性质

FolderListModel是QT提供的一个可以访问本地系统文件夹内容的组件,它能够将获取到的信息提供给其他组件使用。

1.导入模块

在使用FolderListModel之前,需要导入Qt.labs.folderlistmodel模块。

2.基本属性

FolderListModel提供了一些基本属性,如folder用于指定要访问的文件夹路径;showDirs决定是否显示文件夹;nameFilters用于文件名过滤,只显示匹配特定模式的文件;sortField用于设置排序模式,可以是按名称、修改时间、大小或类型排序;showOnlyReadable决定是否仅显示可读文件。

3.数据模型接口

FolderListModel通过一系列的角色(roles)来提供文件和目录的信息,如fileNamefilePathfileURL等,这些角色可以在delegate中直接使用以展示文件信息。

4.方法

FolderListModel提供了一些方法,如get(index, property)用于获取指定索引数据的指定属性值;isFolder(index)用于判断指定索引的数据是否为文件夹类型。

二.使用

1.引入

2.调用

1.nameFilters: ["*"]:这是一个过滤器数组,用于筛选显示的文件名。在这里,["*"]表示接受所有文件名。

2.showDirs: false:设置为false表示不显示文件夹本身,只显示文件夹内的文件。

3.showDotAndDotDot: false:设置为false表示不显示以点(.)开头的文件和目录(例如隐藏文件或父目录)。

三.效果

四.代码

 import Qt.labs.folderlistmodel 2.15


   ListView
    {
        id: listviewVideoReplay
        anchors.left: parent.left
        anchors.leftMargin: 30
        anchors.top:labelVideoReplay.bottom
        anchors.topMargin: 10
        width:parent.width
        height:600
        clip: true
        spacing: 20
        delegate: delegateVideoReplay

        //会和文件夹实时同步,外部删除文件也会马上同步
        model: FolderListModel {
            id: folderModel
            folder:  "E:/data"
            nameFilters: ["*"]
            showDirs: false
            showDotAndDotDot: false
        }
    }

推荐阅读