目录
一.性质
FolderListModel是QT提供的一个可以访问本地系统文件夹内容的组件,它能够将获取到的信息提供给其他组件使用。
1.导入模块
在使用FolderListModel之前,需要导入Qt.labs.folderlistmodel模块。
2.基本属性
FolderListModel提供了一些基本属性,如folder
用于指定要访问的文件夹路径;showDirs
决定是否显示文件夹;nameFilters
用于文件名过滤,只显示匹配特定模式的文件;sortField
用于设置排序模式,可以是按名称、修改时间、大小或类型排序;showOnlyReadable
决定是否仅显示可读文件。
3.数据模型接口
FolderListModel通过一系列的角色(roles)来提供文件和目录的信息,如fileName
、filePath
、fileURL
等,这些角色可以在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
}
}