文章目录
- 一.QFileSystemModel类
-
- 二.使用说明
一.QFileSystemModel类
属性
- nameFilterDisables : bool 此属性保存未通过名称筛选器的文件是隐藏还是禁用,默认值为true
- options : Options 此属性包含影响模型的各种选项,默认情况下,所有选项均为disabled
- readOnly : bool 此属性保存目录模型是否允许写入文件系统,默认情况下为true
- resolveSymlinks : bool 此属性保存目录模型是否应解析符号链接,默认情况下为true
信号
返回值 | 信号 | 说明 |
---|
void | directoryLoaded(const QString &path) | 当gatherer线程完成加载路径时发出此信号 |
void | fileRenamed(const QString &path, const QString &oldName, const QString &newName) | 每当具有oldName的文件成功重命名为newName时,就会发出此信号。文件位于目录路径中。 |
void | rootPathChanged(const QString &newPath) | 只要根路径更改为新路径,就会发出此信号 |
函数
返回值 | public函数 | 说明 |
---|
| QFileSystemModel(QObject *parent = nullptr) | 构造函数 |
virtual | ~QFileSystemModel() | 析构函数 |
QIcon | fileIcon(const QModelIndex &index) const | 返回存储在模型中给定索引下的项的图标。 |
QFileInfo | fileInfo(const QModelIndex &index) const | 返回存储在模型中给定索引下的项的 QFileInfo。 |
QString | fileName(const QModelIndex &index) const | 返回存储在模型中给定索引下的项的文件名。 |
QString | filePath(const QModelIndex &index) const | 返回存储在模型中给定索引下的项的路径。 |
QDir::Filters | filter() const | 返回为目录模型指定的筛选器。 |
QAbstractFileIconProvider * | iconProvider() const | 返回此目录模型的文件图标提供程序。 |
QModelIndex | index(const QString &path, int column = 0) const | 返回由给定行、列和父索引指定的模型中项的索引。 |
bool | isDir(const QModelIndex &index) const | 如果模型项索引表示目录,则返回true;否则返回false。 |
bool | isReadOnly() const | 文件是否为只读,如果是则返回true,否则返回false |
QDateTime | lastModified(const QModelIndex &index) const | 返回上次修改索引的日期和时间。 |
QModelIndex | mkdir(const QModelIndex &parent, const QString &name) | 使用父模型索引中的名称创建目录。 |
QVariant | myComputer(int role = Qt::DisplayRole) const | 返回在“我的电脑”项的给定角色下存储的数据。 |
bool | nameFilterDisables() const | 是否使用过滤器,如果是则返回true,否则返回false |
QStringList | nameFilters() const | 返回应用于模型中名称的筛选器列表。 |
QFileSystemModel::Options | options() const | 返回选项 |
QFile::Permissions | permissions(const QModelIndex &index) const | 返回索引的QFile::Permission的完整OR组合。 |
bool | remove(const QModelIndex &index) | 从文件系统模型中删除模型项索引,并从文件系统中删除相应的文件,如果成功,则返回true。如果无法删除该项,则返回false。 |
bool | resolveSymlinks() const | 返回是否应解析符号链接,如果是则返回true,否则返回false |
bool | rmdir(const QModelIndex &index) | 删除文件系统模型中与模型项索引相对应的目录,并从文件系统中删除相应的目录,如果成功,则返回true。如果无法删除目录,则返回false。 |
QDir | rootDirectory() const | 当前设置的目录 |
QString | rootPath() const | 当前设置的根路径 |
void | setFilter(QDir::Filters filters) | 属性设置 |
void | setIconProvider(QAbstractFileIconProvider *provider) | 属性设置 |
void | setNameFilterDisables(bool enable) | 属性设置 |
void | setNameFilters(const QStringList &filters) | 属性设置 |
void | setOption(QFileSystemModel::Option option, bool on = true) | 属性设置 |
void | setOptions(QFileSystemModel::Options options) | 属性设置 |
void | setReadOnly(bool enable) | 属性设置 |
void | setResolveSymlinks(bool enable) | 属性设置 |
QModelIndex | setRootPath(const QString &newPath) | 属性设置 |
qint64 | size(const QModelIndex &index) const | 返回索引的大小(字节)。如果文件不存在,则返回0。 |
bool | testOption(QFileSystemModel::Option option) const | 如果给定选项已启用,则返回true;否则,返回false。 |
QString | type(const QModelIndex &index) const | 返回文件索引的类型,如“目录”或“JPEG文件”。 |
返回值 | Reimplemented Public函数 | 说明 |
---|
virtual bool | canFetchMore(const QModelIndex &parent) const override | 如果父级有更多可用数据,则返回true;否则返回false。 |
virtual int | columnCount(const QModelIndex &parent = QModelIndex()) const override | 返回给定父级的子级的列数。 |
virtual QVariant | data(const QModelIndex &index, int role = Qt::DisplayRole) const override | 返回存储在给定角色下的索引所引用项的数据。 |
virtual bool | dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override | 处理以给定操作结束的拖放操作提供的数据。 如果数据和操作由模型处理,则返回true;否则返回false。 |
virtual void | fetchMore(const QModelIndex &parent) override | 获取具有父索引指定的父项的项目的任何可用数据。 |
virtual Qt::ItemFlags | flags(const QModelIndex &index) const override | 返回给定索引的项标志。 |
virtual bool | hasChildren(const QModelIndex &parent = QModelIndex()) const override | 如果父级有任何子级,则返回true;否则返回false。 |
virtual QVariant | headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override | 返回具有指定方向的标头中给定角色和节的数据。 |
virtual QModelIndex | index(int row, int column, const QModelIndex &parent = QModelIndex()) const override | 返回由给定行、列和父索引指定的模型中项的索引。 |
virtual QMimeData * | mimeData(const QModelIndexList &indexes) const override | 返回包含指定索引的序列化描述的对象。 |
virtual QStringList | mimeTypes() const override | 返回可用于描述模型中项目列表的MIME类型列表。 |
virtual QModelIndex | parent(const QModelIndex &index) const override | 返回父级指针 |
virtual QHash<int, QByteArray> | roleNames() const override | 返回模型的角色名称。 |
virtual int | rowCount(const QModelIndex &parent = QModelIndex()) const override | 返回给定父级的子级的行数。 |
virtual bool | setData(const QModelIndex &idx, const QVariant &value, int role = Qt::EditRole) override | 属性设置 |
virtual QModelIndex | sibling(int row, int column, const QModelIndex &idx) const override | 返回索引处项的行和列的同级项,如果该位置没有同级项,则返回无效的QModelIndex。 |
virtual void | sort(int column, Qt::SortOrder order = Qt::AscendingOrder) override | 按给定顺序按列对模型排序。 |
virtual Qt::DropActions | supportedDropActions() const override | 返回此模型中数据支持的操作。 |
二.使用说明
QFileSystemModel *model = new QFileSystemModel;
model->setRootPath(QDir::currentPath());
QTreeView *tree = new QTreeView(splitter);
tree->setModel(model);
ui->fileTreeView->setRootIndex(model->index(model->rootPath()));