Qt QFileSystemModel类详解

news2024/11/18 14:55:45

文章目录

  • 一.QFileSystemModel类
    • 属性
    • 信号
    • 函数
  • 二.使用说明

一.QFileSystemModel类

属性

  • nameFilterDisables : bool 此属性保存未通过名称筛选器的文件是隐藏还是禁用,默认值为true
  • options : Options 此属性包含影响模型的各种选项,默认情况下,所有选项均为disabled
  • readOnly : bool 此属性保存目录模型是否允许写入文件系统,默认情况下为true
  • resolveSymlinks : bool 此属性保存目录模型是否应解析符号链接,默认情况下为true

信号

返回值信号说明
voiddirectoryLoaded(const QString &path)当gatherer线程完成加载路径时发出此信号
voidfileRenamed(const QString &path, const QString &oldName, const QString &newName)每当具有oldName的文件成功重命名为newName时,就会发出此信号。文件位于目录路径中。
voidrootPathChanged(const QString &newPath)只要根路径更改为新路径,就会发出此信号

函数

返回值public函数说明
QFileSystemModel(QObject *parent = nullptr)构造函数
virtual~QFileSystemModel()析构函数
QIconfileIcon(const QModelIndex &index) const返回存储在模型中给定索引下的项的图标。
QFileInfofileInfo(const QModelIndex &index) const返回存储在模型中给定索引下的项的 QFileInfo。
QStringfileName(const QModelIndex &index) const返回存储在模型中给定索引下的项的文件名。
QStringfilePath(const QModelIndex &index) const返回存储在模型中给定索引下的项的路径。
QDir::Filtersfilter() const返回为目录模型指定的筛选器。
QAbstractFileIconProvider *iconProvider() const返回此目录模型的文件图标提供程序。
QModelIndexindex(const QString &path, int column = 0) const返回由给定行、列和父索引指定的模型中项的索引。
boolisDir(const QModelIndex &index) const如果模型项索引表示目录,则返回true;否则返回false。
boolisReadOnly() const文件是否为只读,如果是则返回true,否则返回false
QDateTimelastModified(const QModelIndex &index) const返回上次修改索引的日期和时间。
QModelIndexmkdir(const QModelIndex &parent, const QString &name)使用父模型索引中的名称创建目录。
QVariantmyComputer(int role = Qt::DisplayRole) const返回在“我的电脑”项的给定角色下存储的数据。
boolnameFilterDisables() const是否使用过滤器,如果是则返回true,否则返回false
QStringListnameFilters() const返回应用于模型中名称的筛选器列表。
QFileSystemModel::Optionsoptions() const返回选项
QFile::Permissionspermissions(const QModelIndex &index) const返回索引的QFile::Permission的完整OR组合。
boolremove(const QModelIndex &index)从文件系统模型中删除模型项索引,并从文件系统中删除相应的文件,如果成功,则返回true。如果无法删除该项,则返回false。
boolresolveSymlinks() const返回是否应解析符号链接,如果是则返回true,否则返回false
boolrmdir(const QModelIndex &index)删除文件系统模型中与模型项索引相对应的目录,并从文件系统中删除相应的目录,如果成功,则返回true。如果无法删除目录,则返回false。
QDirrootDirectory() const当前设置的目录
QStringrootPath() const当前设置的根路径
voidsetFilter(QDir::Filters filters)属性设置
voidsetIconProvider(QAbstractFileIconProvider *provider)属性设置
voidsetNameFilterDisables(bool enable)属性设置
voidsetNameFilters(const QStringList &filters)属性设置
voidsetOption(QFileSystemModel::Option option, bool on = true)属性设置
voidsetOptions(QFileSystemModel::Options options)属性设置
voidsetReadOnly(bool enable)属性设置
voidsetResolveSymlinks(bool enable)属性设置
QModelIndexsetRootPath(const QString &newPath)属性设置
qint64size(const QModelIndex &index) const返回索引的大小(字节)。如果文件不存在,则返回0。
booltestOption(QFileSystemModel::Option option) const如果给定选项已启用,则返回true;否则,返回false。
QStringtype(const QModelIndex &index) const返回文件索引的类型,如“目录”或“JPEG文件”。
返回值Reimplemented Public函数说明
virtual boolcanFetchMore(const QModelIndex &parent) const override如果父级有更多可用数据,则返回true;否则返回false。
virtual intcolumnCount(const QModelIndex &parent = QModelIndex()) const override返回给定父级的子级的列数。
virtual QVariantdata(const QModelIndex &index, int role = Qt::DisplayRole) const override返回存储在给定角色下的索引所引用项的数据。
virtual booldropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override处理以给定操作结束的拖放操作提供的数据。
如果数据和操作由模型处理,则返回true;否则返回false。
virtual voidfetchMore(const QModelIndex &parent) override获取具有父索引指定的父项的项目的任何可用数据。
virtual Qt::ItemFlagsflags(const QModelIndex &index) const override返回给定索引的项标志。
virtual boolhasChildren(const QModelIndex &parent = QModelIndex()) const override如果父级有任何子级,则返回true;否则返回false。
virtual QVariantheaderData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override返回具有指定方向的标头中给定角色和节的数据。
virtual QModelIndexindex(int row, int column, const QModelIndex &parent = QModelIndex()) const override返回由给定行、列和父索引指定的模型中项的索引。
virtual QMimeData *mimeData(const QModelIndexList &indexes) const override返回包含指定索引的序列化描述的对象。
virtual QStringListmimeTypes() const override返回可用于描述模型中项目列表的MIME类型列表。
virtual QModelIndexparent(const QModelIndex &index) const override返回父级指针
virtual QHash<int, QByteArray>roleNames() const override返回模型的角色名称。
virtual introwCount(const QModelIndex &parent = QModelIndex()) const override返回给定父级的子级的行数。
virtual boolsetData(const QModelIndex &idx, const QVariant &value, int role = Qt::EditRole) override属性设置
virtual QModelIndexsibling(int row, int column, const QModelIndex &idx) const override返回索引处项的行和列的同级项,如果该位置没有同级项,则返回无效的QModelIndex。
virtual voidsort(int column, Qt::SortOrder order = Qt::AscendingOrder) override按给定顺序按列对模型排序。
virtual Qt::DropActionssupportedDropActions() const override返回此模型中数据支持的操作。

二.使用说明

 QFileSystemModel *model = new QFileSystemModel;  //创建QFileSystemModel对象
 model->setRootPath(QDir::currentPath());  //设置QFileSystemModel中所要显示的文件目录
 QTreeView *tree = new QTreeView(splitter); //创建一个QTreeView用来显示QFileSystemModel的内容
 tree->setModel(model); //QTreeView绑定模型

在这里插入图片描述


ui->fileTreeView->setRootIndex(model->index(model->rootPath())); //设置显示指定位置的目录

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/128492.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

索引排序内部流程

select 查询字段是不是索引覆盖&#xff0c;覆盖到了就直接内存中排序&#xff0c;输出结果&#xff0c; 如果索引没有覆盖查询字段&#xff0c;计算select的字段释放超过单行所有字段总和限制&#xff0c;超过限制就进行双路排序&#xff0c;否则就使用单路排序 双路排序&…

裂缝波导天线

1. 裂缝波导天线波导裂缝天线属于阵列天线&#xff0c;如图1-1所示&#xff0c;在一根波导上开一系列裂缝可构成线阵天线&#xff0c;三种波导裂缝线阵&#xff08;两种在宽边&#xff0c;一种在窄边&#xff09;通过控制裂缝的偏置或倾角实现所要求的口径幅度分布。图1-1 波导…

钉钉的想象力,向企业服务第一平台进阶

作者 | 曾响铃 文 | 响铃说 时近年末&#xff0c;钉钉7.0版本在杭州重磅发布。 两年一个大版本&#xff0c;这一次钉钉正试图向更高的维度进化&#xff1a; 第一&#xff0c;在完成一家企业的组织数字化和业务数字化后&#xff0c;钉钉开始将重点突破到企业间&#xff0c;突…

如何获取完整、准确的用户需求?

1、成立专业且全面的综合项目组 想要获取完整且准确的用户需求&#xff0c;首先需要成立由技术人员、业务人员、测试人员等组成的项目组&#xff0c;项目组成员最好既懂技术又懂业务。这样的综合项目组有助于全面获取用户需求。 如何获取完整、准确的用户需求&#xff1a;专业全…

模拟前端的开关器件隔离度分析与优化

1、模拟开关的隔离程度 下图为一个模拟开关在 SiPM接收切换中的应用电路。 V1点的波形输入的信号下降沿为500ps&#xff0c;上升沿为10ns&#xff0c;波形如下图所示。 V2点的波形如下图所示&#xff0c;此时IN为低&#xff0c;应该是S1导通&#xff0c;S2断开的&#xff0c;此…

Unity 3D 导入资源包 || Unity 3D 导出资源包

项目中的一些资源具有复用性&#xff0c;只需要将资源导出&#xff0c;就能够重复使用。 导出资源包 执行 Assets → Select Dependencies 菜单命令&#xff0c;选中与导出资源相关的内容。接着执行 Assets→ Export Package 菜单命令。弹出的 Exporting Package 导出资源对话框…

大数据NiFi(一):什么是NiFi

文章目录 什么是NiFi 一、NiFi背景介绍

第5章 函数

&#x1f31e;欢迎来到机器学习的世界 &#x1f308;博客主页&#xff1a;卿云阁 &#x1f48c;欢迎关注&#x1f389;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f31f;本文由卿云阁原创&#xff01; &#x1f320;本阶段属于练气阶段&#xff0c;希望各位仙友顺利完…

软件测试复习

软件测试定义 什么是软件测试 使用人工或自动手段运行或测定某个系统的过程&#xff0c;其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。软件测试就是“验证”和“确认”活动构成的整体。 软件测试的作用 验证软件需求和功能是否得到完整实现验证软…

花房集团成功上市,构建互联互通的在线社交娱乐生态

近日&#xff0c;花房集团正式在香港联合交易所主板上市。对于花房集团而言&#xff0c;登陆港股市场是新的征程、新的起点。 可以看到&#xff0c;花房集团在稳固“直播社交”业务基本盘的同时&#xff0c;持续探索元宇宙领域&#xff0c;上市当日首次发布了最新的战略方向“娱…

Apriori算法的python实现

文章目录函数介绍实例Step1:整理数据Step2:挖掘频繁项集Step3:挖掘关联规则Step4:进一步筛选规则作者&#xff1a;李雪茸函数介绍 实现Apriori关联规则挖掘是借助mlxtend第三方包&#xff0c;使用步骤如下&#xff1a; 1、调用apriori算法挖掘频繁项集&#xff0c;apriori()中…

十一、通过程序向闪存文件系统写入信息

1、闪存 (1)每一个esp8266都配有一个闪存&#xff0c;闪存就类似于一个小硬盘。 (2)我们编译上传的程序就存储在闪存中。 (3)闪存的全称是Serial Peripheral Interface Flash File System&#xff08;SPIFFS&#xff09;&#xff0c;串行外设接口Flash文件系统。 (4)闪存除…

docker高级篇-docker-compose容器编排介绍及实战

Docker-compose是什么?能干嘛?解决了哪些痛点? 是什么? Docker-compose是Docker官方推出 的一个工具软件,可以管理多个Docker容器组成的一个应用。你需要编写一个一个YAML格式的配置文件:docker-compose.yml。写好多个容器之间的调用关系。然后,只需要一个命令,就能…

嵌入式:ARM汇编语言程序设计基础教程

文章目录汇编语言程序设计的步骤顺序程序设计分支程序设计循环程序设计子程序设计寄存器传递参数方式存储区域传递参数方式堆栈传递参数方式汇编语言程序设计的步骤 ① 合理地分配存储器资源&#xff0c;将前述的目标系统‘数据结构模型’表示到各存储器单元。 ② CPU寄存器数…

pytorch集锦(4)-ResNet图像分类

目录加载训练好的模型下载模型权重图像预处理打开要预测的图像传递图像运行模型下载数据打开imagenet_classes.txt预测结果前5个最可能分类加载训练好的模型 pip3 install pillow>>> from torchvision import models >>> dir(models) [AlexNet, DenseNet, I…

有哪些简单、免费、适合中小型企业的 CRM 软件?

有哪些简单、免费、适合中小型企业的 CRM 软件&#xff1f; 为了更好的管理客户&#xff0c;和客户建立持续的良好关系&#xff0c;很多企业开始采用CRM软件。 但是免费且好用的CRM软件并不多见&#xff0c;因此选择一款适合中小型企业的CRM软件需要注意以下方面。 1. 知己&…

微信小程序布局图片上面显示文字

实现的效果&#xff1a; xml布局文件&#xff1a; <view class"image-parent"> <image classimage modewidthFix src../../images/answer-ad.png></image> <view class"child">child</view> </view> css文件&a…

26-剑指 Offer 29. 顺时针打印矩阵

题目 输入一个矩阵&#xff0c;按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] [[1,2,3], [4,5,6], [7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输入&#xff1a;m…

年终摸鱼:用高效的技术对抗繁琐的运维日常

2022年的最后一周 免疫系统直接把我带入高端局 霍一下子烧到40&#xff0c; 差点起来写遗嘱 好在第二天就降到了38.5 现在除了有点咳嗽、头昏、无力。。。 也没啥大问题——到底是年轻。 谁能想到疫情蔓延三年&#xff0c; 所有人还要来一场集体“免疫”呢&#xff1f; …

太力科技冲刺上市:石正兵为实控人,股东刘健为失信被执行人

近日&#xff0c;广东太力科技集团股份有限公司&#xff08;下称“太力科技”&#xff09;在深圳证券交易所递交招股书&#xff0c;准备在创业板上市。 本次冲刺上市&#xff0c;太力科技计划募资5.42亿元&#xff0c;其中3.20亿元用于太力武汉生产及物流中心建设项目&#xf…