赞
踩
此类提供对本地文件系统的访问,提供重命名和删除文件和目录以及创建新目录的功能。在最简单的情况下,它可以与小部件一起使用,作为浏览器或过滤器的一部分。
QFileSystemModel 可以使用 QAbstractItemModel 提供的标准接口进行访问,但它也提供了一些特定于目录模型的便利功能。
注意:QFileSystemModel 需要一个 QApplication 的实例。
- QFileSystemModel *model = new QFileSystemModel;
- model->setRootPath(QDir::currentPath());
-
- QTreeView tree;
- tree.setModel(model);
- tree.setRootIndex(model->index(QDir::currentPath()));
- tree.show();
在调用 setRootPath() 之前,QFileSystemModel 不会获取任何文件或目录。
QFileSystemModel 使用一个单独的线程来查询文件和目录以便于填充模型数据,因此它不会在查询文件系统时导致主线程挂起。
QFileSystemModel 保存包含文件信息的缓存。缓存使用 QFileSystemWatcher 自动保持最新。
1、enum QFileSystemModel::Option:
2、enum QFileSystemModel::Roles
1、nameFilterDisables : bool
未通过名称过滤器的文件是隐藏还是禁用,默认为 true。
2、options : Options
此属性包含影响模型的各种选项。默认情况下,禁用所有选项。
3、readOnly : bool
此属性保存目录模型是否允许写入文件系统。默认为 true。
如果此属性设置为 false,则目录模型将允许重命名、复制和删除文件和目录。
4、resolveSymlinks : bool
此属性保存目录模型是否应解析符号链接。默认为 true。
1、[signal] void directoryLoaded(const QString &path)
当查询文件和目录的线程完成加载路径时发出此信号。
2、[signal] void fileRenamed(const QString &path, const QString &oldName, const QString &newName)
每当具有 oldName 的文件成功重命名为 newName 时,就会发出此信号。 该文件位于目录path中。
3、[signal] void rootPathChanged(const QString &newPath)
每当根路径更改为 newPath 时,就会发出此信号。
1、QIcon fileIcon(const QModelIndex &index)
QFileInfo fileInfo(const QModelIndex &index)
QString fileName(const QModelIndex &index)
QString filePath(const QModelIndex &index)
返回存储在模型中给定索引下的项目的图标、QFileInfo、文件名、路径。
2、 QAbstractFileIconProvider * iconProvider() / void setIconProvider(QAbstractFileIconProvider *provider)
返回此目录模型的文件图标提供程序。
3、QModelIndex index(const QString &path, int column = 0)
返回给定路径和列的模型项索引。
4、bool isDir(const QModelIndex &index)
如果模型项索引表示目录,则返回 true, 否则返回false。
5、QDateTime lastModified(const QModelIndex &index)
返回上次修改索引的日期和时间。
6、QModelIndex mkdir(const QModelIndex &parent, const QString &name)
使用父模型索引中的 name 创建一个目录。
7、QVariant myComputer(int role = Qt::DisplayRole)
返回在给定角色下为项目“我的电脑”存储的数据。
8、bool remove(const QModelIndex &index)
从文件系统模型中删除模型项索引并从文件系统中删除相应的文件,如果成功则返回true。 如果无法删除该项目,则返回 false。
警告:该函数从文件系统中删除文件; 它不会将它们移动到可以恢复的位置。
9、bool rmdir(const QModelIndex &index)
删除文件系统模型中模型项索引对应的目录,并从文件系统中删除对应的目录,成功则返回true。 如果无法删除目录,则返回 false。
警告:该函数从文件系统中删除目录; 它不会将它们移动到可以恢复的位置。
10、QDir rootDirectory()
当前设置的目录。
11、QString rootPath()
当前设置的根路径。
12、void setFilter(QDir::Filters filters)
设置模型的过滤器。请注意,设置的过滤器应始终包含 QDir::AllDirs 枚举值,否则 QFileSystemModel 将无法读取目录结构。
13、void setNameFilters(const QStringList &filters)
设置名称过滤器以应用于现有文件。
14、void setOption(QFileSystemModel::Option option, bool on = true)
如果 on 为true,则设置要启用的给定选项; 否则,清除给定的选项。
15、QModelIndex setRootPath(const QString &newPath)
设置观察的目录为 newPath。 对该目录中文件和目录的任何更改都将反映在模型中。
如果路径发生更改,将发出 rootPathChanged() 信号。
16、qint64 size(const QModelIndex &index)
返回索引的字节大小。 如果文件不存在,则返回 0。
17、bool testOption(QFileSystemModel::Option option)
如果启用了给定的选项,则返回 true,否则返回 false。
18、QString type(const QModelIndex &index)
返回文件索引的类型,例如“目录”或“JPEG 文件”("Directory" or "JPEG file")。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。