Qt监控目录文件变化:QFileSystemWatcher用法

Qt提供了目录文件变动检测功能的类QFileSystemWatcher,使用该类要想添加头文件

                           #include <QFileSystemWatcher>
    先看看他的源码:

    bool addPath(const QString &file);
    QStringList addPaths(const QStringList &files);
    bool removePath(const QString &file);
    QStringList removePaths(const QStringList &files);
 
    QStringList files() const;
    QStringList directories() const;
 
Q_SIGNALS:
    void fileChanged(const QString &path, QPrivateSignal);
    void directoryChanged(const QString &path, QPrivateSignal);
  信号:directoryChanged 是监控提供的目录的变化

  addPath:给QFileSystemWatcher兑现添加目录

  下面的demo提供了目录文件变动的检测功能,用法如下:

(1)先声明对象    QFileSystemWatcher m_FileWatcher;

(2)添加需要监控的目录   m_FileWatcher.addPath(path);

(3)绑定信号槽

//监视目录中的文件是否变化
connect(&m_FileWatcher, SIGNAL(directoryChanged(QString)), this, SLOT(onDirectoryChaned(QString)));
        可以在槽函数做相应的处理,我只做了个提示,其它功能可以自行添加,例如读取,上传,备份等,在一些安防项目会用到。

void Widget::onDirectoryChaned(QString path)
{
    QMessageBox::information(this, tr("提示"), path + tr(" 目录文件有改动"), NULL);
}
        打开相应目录后,如果在往目录中添加文件,则会有提示,界面如下:

     

     本例子的全部代码:https://gitee.com/qwerwo/QtFileMonitor
 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

蝈蝈(GuoGuo)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值