QT监控文件夹变化(文件增加、删除、改名)
1、功能使用QT中的QFileSystemWatcher来完成,将监控逻辑单独放到一个线程中来实现。封装好的类如下:
头文件:
#ifndef FILEWATCH_H
#define FILEWATCH_H
#include <QObject>
#include <QThread>
#include <QFileSystemWatcher>
#include <QFileInfo>
#include <QMap>
class fileWatch : public QThread
{
Q_OBJECT
public:
explicit fileWatch(const QStringList &listPath ,QObject *parent = nullptr);
~fileWatch();
public slots:
// 目录更新时调用
void directoryUpdated(const QString &path);
// 文件被修改时调用
void fileUpdated(const QString &path);
signals:
void sigNewFile(const QString &path, const QString &name);
private:
void run() override;
QFileSystemWatcher m_watcher;
QStringList m_listPath;
// 当前每个监