文件系统监视器

news2024/11/19 13:21:48

QFileSystemWatcher类通过监视指定路径的列表来监视文件系统对文件和目录的更改。

构造函数:

 常用函数:

addPath()添加路径
addPaths()添加多个路径
directory()返回正在监视的目录的路径列表
files()返回正在监视的文件的路径列表
removePath()删除路径
removePaths()删除多个路径

常用的信号:

directoryChanged()当指定路径的目录被修改,重命名或从磁盘中删除时
filesChanged()当指定路径上的文件被修改、重命名或从磁盘中删除时

例子:

在Widget.h文件中添加:

    #include<QFileSystemWatcher>//头文件


    QFileSystemWatcher watch;//监视对象
    void showMessage(const QString &Path);//显示信息的槽函数

在WIdget.cpp构造函数中添加:

    QListWidget *list=new QListWidget(this);
    list->setFixedSize(300,800);//设置大小
    connect(&watch,&QFileSystemWatcher::directoryChanged,this,&Widget::showMessage);//目录改变时
    connect(&watch,&QFileSystemWatcher::fileChanged,this,&Widget::showMessage);//文件改变时
    QDir myDir(QDir::currentPath());//创建一个目录对象,获取当前路径的内容
    watch.addPath(myDir.absolutePath());//监视该目录
    QFile file(myDir.absolutePath()+"/file.txt");//在目录下创建一个文件,名为file.txt
    list->addItems(myDir.entryList());//在ListWidget中显示
    if(file.open(QIODevice::WriteOnly))
    {
        QFileInfo info(file);
        list->addItem(info.absolutePath());//显示绝对路径
        watch.addPath(info.absolutePath());//监视该文件
        file.close();//关闭文件
    }

槽函数的实现:

void Widget::showMessage(const QString &Path)
{
    QDir dir(QDir::currentPath()+"/mydir");
    if(Path==dir.absolutePath())
    {
        qDebug()<<tr("目录改变");
    }
    else
    {
        qDebug()<<tr("文件改变");
    }
}

当你修改目录和文件时,会在控制台输出目录改变或文件改变

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

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

相关文章

【JS】数据结构之队列

文章目录基本概念代码实现基本概念 队列&#xff1a;它是一种运算受限的线性表&#xff0c;FIFO&#xff08;先进先出&#xff09;特性&#xff1a;它只运行表的前端进行删除操作&#xff0c;在表的后端进行添加操作面对无法同时处理多个请求的场景&#xff0c;我们通常就会使…

HTML小游戏16 —— 消除游戏《魔法石》源码(附完整源码)

&#x1f482; 网站推荐:【神级源码资源网】【摸鱼小游戏】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 想寻找共同学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】&#x1f4ac; 免费且实用的计…

计算机组成原理(一)计算机系统概论

目录前言计算机硬件的组成和分类冯.诺依曼结构的基本思想运算器存储器控制器程序和指令控制器的基本任务指令流和数据流适配器与I/O设备输入设备计算机软件的组成与分类计算机系统的层次结构计算机系统的性能指标软硬件逻辑的等价性前言 计算机组成原理这门课可以说是计算机专…

b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

一个好的SpringCloudSpringBoot b2b2c 电子商务平台涉及哪些技术、运营方案&#xff1f;以下是我结合公司的产品做的总结&#xff0c;希望可以帮助到大家&#xff01; 搜索体验小程序&#xff1a;海哇 1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买…

Aqwa 带你掌握船舶与海洋工程水动力理论与工程应用

作者&#xff1a;高巍&#xff0c;仿真秀科普作者 一、写在前面 20世纪60年代欧洲北海发现了储量丰富的油气资源&#xff0c;随着1973年第二次石油危机的到来&#xff0c;欧洲国家能源自主的迫切需要推进了北海油气资源的开发进程&#xff0c;推动了海洋工程技术发展。 为了…

【多线程(三)】生产者和消费者模式

文章目录3.生产者和消费者模式前言3.1生产者和消费者模式概述3.2生产者和消费者案例3.3 阻塞队列基本使用3.4 阻塞队列实现等待唤醒机制总结3.生产者和消费者模式 前言 在线程世界里&#xff0c;生产者就是生产数据的线程&#xff0c;消费者就是消费数据的线程。在多线 程开发…

SQL SERVER数据库修复之REPAIR_ALLOW_DATA_LOSS级别简介和实例

目录 &#xff08;一&#xff09;前言 &#xff08;二&#xff09;关于DBCC CHECKxxx系列命令 1. DBCC CHECKALLOC 2. DBCC CHECKCATALOG 3. DBCC CHECKDB &#xff08;1&#xff09;基本概念 &#xff08;2&#xff09;基本语法 &#xff08;3&#xff09;参数说明 &…

分析常见限流算法及手写三种(计数器、漏斗、令牌桶)代码实现

常见的限流算法分析 限流在我们日常生活中经常见到&#xff0c;如火车站门口的栏杆、一些景点的门票只出售一定的数量 等等。在我们的开发中也用到了这种思想。 为什么要限流 在保证可用的情况下尽可能多增加进入的人数,其余的人在排队等待,或者返回友好提示,保证里面的进行…

机器如何快速学习数据采集

很多人都在思考如何利用机器学习&#xff08;ML&#xff09;算法来提高产品或服务的质量。 如果你正在考虑采用ML&#xff0c;以正确的格式收集正确的数据&#xff0c;将会降低你的数据清理工作以及数据浪费。 要收集所有数据 收集所有数据是非常重要的。除非你真正训练一个…

Excel基于分隔符拆分列

1、示例数据 id name describe 1 张三 学生 2 李四 老师 3 王五 学生 2、将数据复制到Excel中 数据目前都在A列中 3、将数据一次拆分到多个列 Excel基于分隔符拆分列&#xff0c;将数据一次拆分到多个列。 选中数据&#xff0c;数据-分列-分列 设置分隔符 点击完成后&…

【Python自然语言处理】使用逻辑回归(logistic)对电影评论情感分析实战(超详细 附源码)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 一、舆情分析 舆情分析很多情况下涉及到用户的情感分析&#xff0c;或者亦称为观点挖掘&#xff0c;是指用自然语言处理技术、文本挖掘以及计算机语言学等方法来正确识别和提取文本素材中的主观信息&#xff0c;通过对带有…

使用Visual Studio Code 进行Python编程(一)

1、下载Visual Studio Code 到微软的Visual Studio Code官方主页下载Visual Studio Code: Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器Visual Studio 开发工具和服务让任何开发人员在任何平台和语言的应用开发都更加轻松。 随时随地免费使用代码编辑器或 I…

Spire.Office for .NET 7.12.0 2022年最后版本?

谷歌能找到破解版是破坏强签名&#xff0c;不能用web&#xff0c;请把大家不要用Spire.Office for .NET is a combination of Enterprise-Level Office .NET API offered by E-iceblue. It includes Spire.Doc, Spire.XLS, Spire.Spreadsheet, Spire.Presentation, Spire.PDF, …

数据库开发项目 flask + html 01

目的 开放平台&#xff08;网站&#xff09; 前端开发 HTML CSS JavaScript Web框架&#xff1a; 接受请求并处理 MySQL数据库&#xff1a; 存储数据 快速上手&#xff1a; 基于 Flask Web框架 快速搭建网站。 进阶&#xff1a; 基于 Django框架 1. 快速开发网站 安装框架 …

(附源码)SSM介绍信智能实现系统 毕业设计 260930

SSM介绍信智能实现系统 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化&#xff0c;电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流&#xff0c;人类发展的历史正进入一个新时代。在现实运用中&…

java+mysql基于SSM的大学生兼职信息系统-计算机毕业设计

开发环境 运行环境&#xff1a; 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:SSM(springspringMVCmybatis)vue 项目介绍 论文主要是对大学生兼职信息系统进行了介绍&#xff0c;包括研究的现状&#xff0c;还有涉及的开发背景&#xff0c;然…

分享几款免费实用的国产内网穿透工具

对于没有公网IP的用户来说&#xff0c;如何实现远程管理或让局域网的服务可以被公网访问到是一个问题。当然&#xff0c;也有很多类似的需求&#xff0c;比如&#xff1a; 微信公众号小程序开发调试公网访问本地web项目异地远程处理公司服务问题异地访问公司内网财务/管理系统…

Qt 中模型视图编程的基本概念

背景 一个应用程序本质可以抽象为三部分&#xff1a;界面、逻辑处理、数据。程序中存储有大量的数据&#xff0c;经过逻辑处理后、通过界面展示给用户&#xff0c;同时用户可以通过界面对数据进行编辑&#xff0c;如下图所示&#xff1a; Qt 中的模型视图架构就是用来实现大量…

Spring_第3章_AOP+事务

Spring_第3章_AOP事务 文章目录Spring_第3章_AOP事务一、AOP1 AOP简介问题导入1.1 AOP简介和作用【理解】1.2 AOP中的核心概念【理解】2 AOP入门案例【重点】问题导入2.1 AOP入门案例思路分析2.2 AOP入门案例实现【第一步】导入aop相关坐标【第二步】定义dao接口与实现类【第三…

8 常规聚类

常规聚类 聚类分析是解决数据全方位自动分组的有效方式。若将数据全体视为一个大类&#xff0c;这个大类很可能是由若干个包含了一定数量观测的自然小类”组成的。聚类分析的目的就是找到这些隐藏于数据中的客观存在的“自然小类”&#xff0c;并通过刻画“自然小类”体现数据…