(Qt6 : 15-2) QFileSystemWatcher

Posted by : at

Category : Qt


#include "watcher.h"

Watcher::Watcher(QObject *parent) : QObject(parent)
{
    fsw.addPath(QDir::currentPath());
    fsw.addPath(QDir::currentPath() + QDir::separator() + "test.txt");

    connect(&fsw,&QFileSystemWatcher::fileChanged, this, &Watcher::fileChanged);
    connect(&fsw,&QFileSystemWatcher::directoryChanged, this, &Watcher::directoryChanged);
}

void Watcher::fileChanged(const QString &path)
{
    qInfo() << "File changed: " << path;
    if(fsw.files().length())
    {
        qInfo() << "Files that have changed:";
        foreach(QString file, fsw.files())
        {
            qInfo() << file;
        }
    }
}

void Watcher::directoryChanged(const QString &path)
{
    qInfo() << "Dir changed: " << path;
    if(fsw.directories().length())
    {
        qInfo() << "Dir that have changed:";
        foreach(QString dir, fsw.directories())
        {
            qInfo() << dir;
        }
    }
}

About Taehyung Kim

안녕하세요? 8년차 현업 C++ 개발자 김태형이라고 합니다. 😁 C/C++을 사랑하며 다양한 사람과의 협업을 즐깁니다. ☕ 꾸준한 자기개발을 미덕이라 생각하며 노력중이며, 제가 얻은 지식을 홈페이지에 정리 중입니다. 좀 더 상세한 제 이력서 혹은 Private 프로젝트 접근 권한을 원하신다면 메일주세요. 😎

Star
Useful Links