FileSystemWatcher.h
#ifndef FILESYSTEMWATCHER_H
#define FILESYSTEMWATCHER_H
#include <QObject>
#include <QMap>
#include <QFileSystemWatcher>
class FileSystemWatcher : public QObject
{
Q_OBJECT
public:
//FileSystemWatcher(QObject *parent);
~FileSystemWatcher();
public:
static void addWatchPath(QString path);
public slots:
void directoryUpdated(const QString &path); // 目录更新时调用,path是监控的路径
void fileUpdated(const QString &path); // 文件被修改时调用,path是监控的路径
private:
explicit FileSystemWatcher(QObject *parent = 0);
private:
static FileSystemWatcher *m_pInstance; // 单例
QFileSystemWatcher *m_pSystemWatcher; // QFileSystemWatcher变量
QMap<QString, QStringList> m_currentContentsMap; // 当前每个监控的内容目录列表
};
#endif // FILESYSTEMWATCHER_H
cpp
#include "filesystemwatcher.h"
#include <QDir>
#include <QFileInfo>
#include