FolderListModel
ImportStatement: importQt.labs.folderlistmodel 2.1
Properties
count : int
folder :string
nameFilters: list<string>
parentFolder: url
showDirs :bool
showDirsFirst: bool
showDotAndDotDot: bool
showFiles :bool
showHidden :bool
showOnlyReadable: bool
sortField :enumeration
sortReversed: bool
Methods
var get(intindex, string property)
boolisFolder(int index)
DetailedDescription
FolderListModel是访问本地系统中一个文件夹的内容的组件。它能将信息提供给一个视图或其他数据组件。
注意:在导入Qt.labs.folderlistmodel模块后,这个组件可用。但Qt.labs.folderlistmodel模块中的所有元件,都不保证在未来版本兼容。
importQt.labs.folderlistmodel 2.1
folder属性指明访问的文件夹。文件夹中文件和目录的信息经由model接口提供。该model组件经下面的标识访问名字和路径:
fileName
filePath
fileURL(since Qt 5.2)
fileBaseName
fileSuffix
fileSize
fileModified
fileAccessed
fileIsDir
另外,附加的方法isFolder(),能用来区分入口是文件还是目录。
Filtering
设置到filter上的不同属性,能用来过滤暴露给model的文件和目录的数量。
nameFilters属性能设置成包含通配符的字符列表。只有匹配该字符列表的文件,才会被暴露。
目录能使用showDirs属性设置包含和排除。
导航目录能通过设置showDotAndDotDot为假来排除。
通过设置showHidden属性,能包含和排除隐藏文件。
暴露用户可以访问的文件,设置showOnlyReadable属性。
ExampleUsage
下面的例子展示了如何向ListView提供QML文件的列表:
importQtQuick 2.0
importQt.labs.folderlistmodel 2.1
ListView {
width: 200; height: 400
FolderListModel {
id: folderModel
nameFilters: ["*.qml"]
}
Component {
id: fileDelegate
Text { text: fileName }
}
model: folderModel
delegate: fileDelegate
}
PathSeparators
Qt使用"/"作为通用的目录分隔符,同样的"/"也用在URL中分隔路径。如果我们总是使用"/"分隔目录,Qt将自动翻译它成为操作系统底层接受的路径。
PropertyDocumentation
count : int
经过过滤后,当前文件下下的实例数量。
folder :string
目前需要解析的文件夹。值必须为file:或qrc:或相对URL。默认为无效URL。
nameFilters: list<string>
包含名字过滤得列表。单个过滤可以包含"?"和"*"通配符。下面是过滤出PNG和JPEG文件的例子:
FolderListModel{
nameFilters: [ "*.png","*.jpg" ]
}
注意:目录不被这个过滤排除。
parentFolder: url
返回当前文件夹的父文件夹的URL
showDirs : bool
如果为真,目录包含在model中,否则model只包含文件。
默认为真。
注意nameFilters不应用到目录上。
showDirsFirst: bool
如果为真,目录将被包含在model中,,并总是有限显示,然后才是文件。默认为假。
showDotAndDotDot: bool
如果为真,"." and ".."目录被包含在model中,否则被排除。默认为假。
showFiles :bool
如果为真,文件被包含在model中,否则只包含目录。默认为真。
showHidden :bool
如果为真,,隐藏文件和目录被包含在model中,否则排除。默认为假。
showOnlyReadable: bool
如果为真,只有可读文件和目录包含在model中,否则所有文件和目录被包含。默认为假。
sortField :enumeration
sortField包含用于排序的域,它可能是下面的一个值:
Unsorted - 不排序
Name - 按文件名排序
LastModified- 按修改时间排序
Size - 按文件尺寸排序
Type - 按文件类型排序(扩展名)
sortReversed: bool
如果为真,逆转排序顺序。默认为假。
MethodDocumentation
var get(intindex, string property)
获得给定索引的文件夹属性,下面的属性可用:
fileName
filePath
fileURL(since Qt 5.2)
fileBaseName
fileSuffix
fileSize
fileModified
fileAccessed
fileIsDir
boolisFolder(int index)
如果索引是文件夹,返回真,否则返回假。