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(),能用來區分入口是文件還是目錄。 設置到filter上的不同屬性,能用來過濾暴露給model的文件和目錄的數量。
nameFilters屬性能設置成包含通配符的字符列表。只有匹配該字符列表的文件,才會被暴露。
目錄能使用showDirs屬性設置包含和排除。
導航目錄能通過設置showDotAndDotDot為假來排除。
通過設置showHidden屬性,能包含和排除隱藏文件。
暴露用戶可以訪問的文件,設置showOnlyReadable屬性。 PathSeparators
Qt使用”/”作為通用的目錄分隔符,同樣的”/”也用在URL中分隔路徑。如果我們總是使用”/”分隔目錄,Qt將自動翻譯它成為操作系統底層接受的路徑。
PRopertyDocumentation
count : int
經過過濾后,當前文件下下的實例數量。
folder :string
目前需要解析的文件夾。值必須為file:或qrc:或相對URL。默認為無效URL。
nameFilters: list
包含名字過濾得列表。單個過濾可以包含”?”和”*”通配符。下面是過濾出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) 如果索引是文件夾,返回真,否則返回假。
新聞熱點
疑難解答