QT 文件监视系统QFileSystemWatcher监视目录的改变directoryChanged和监视文件的改变fileChanged

QT 文件监视系统QFileSystemWatcher监视目录的改变


相关操作说明

添加头文件
Header:
#include
qmake:
QT += core

bool QFileSystemWatcher::addPath(const QString &path)

如果路径存在,则会向文件系统监视器添加路径。如果该路径不存在,或者该路径已被文件系统监视器监视,则不会添加该路径。
如果路径指定了一个目录,则当修改或从磁盘中删除路径时,将发出目录更改的directoryChanged()信号;
否则,当修改、重命名或删除路径时,将发出文件化的fileChanged()信号。


[static]
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Qt中,可以使用QFile和QDir类来实现文件目录改变。QFile类提供了一组用于操作文件的函数,可以创建、打开、读取、写入和关闭文件等操作。QDir类提供了一组用于操作目录的函数,可以创建、删除、重命名、遍历目录等操作。以下是一个示例代码: ```cpp #include <QCoreApplication> #include <QDebug> #include <QFile> #include <QDir> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString filePath = "C:/Users/abc/Desktop/test.txt"; QString dirPath = "C:/Users/abc/Desktop/testdir"; // 创建文件 QFile file(filePath); if(file.open(QIODevice::WriteOnly | QIODevice::Text)) { QTextStream out(&file); out << "Hello, world!"; file.close(); qDebug() << "Create file successfully."; } else { qDebug() << "Create file failed."; } // 创建目录 QDir dir; if(dir.mkdir(dirPath)) { qDebug() << "Create directory successfully."; } else { qDebug() << "Create directory failed."; } // 重命名文件 QString newFilePath = "C:/Users/abc/Desktop/newtest.txt"; if(file.rename(newFilePath)) { qDebug() << "Rename file successfully."; } else { qDebug() << "Rename file failed."; } // 删除目录 if(dir.rmdir(dirPath)) { qDebug() << "Remove directory successfully."; } else { qDebug() << "Remove directory failed."; } return a.exec(); } ``` 在上面的示例代码中,我们首先定义了一个文件路径和一个目录路径。然后,我们使用QFile类创建了一个文件,并使用QTextStream类向文件中写入了一些文本。接着,我们使用QDir类创建了一个目录。然后,我们使用QFile类的rename函数将文件重命名为新的文件名。最后,我们使用QDir类的rmdir函数删除了目录。 注意:在进行文件目录改变时,需要先判断操作是否成功,可以通过QFile和QDir类提供的返回值来判断。另外,在重命名文件时,需要使用QFile类的rename函数,而不能直接使用QFile类的renameTo函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Qt历险记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值