Qt:检查文件夹中的文件是否已更改

Lwy*_*yrn 9 c++ qt qfile qfilesystemwatcher qtcore

有没有办法在指定目录(或子文件夹)中的文件触发操作,而不是每次都获取所有修改时间?我问,因为我要检查这个

lpa*_*app 10

您需要使用QFileSystemWatcher.

更重要的是,这是您需要连接的信号:

void QFileSystemWatcher :: fileChanged(const QString&path)[signal]

当指定路径上的文件被修改,重命名或从磁盘中删除时,将发出此信号.

另请参见directoryChanged().

所以,你可以在你的类或函数中写这样的东西:

...
QFileSystemWatcher watcher;
watcher.addPath("/My/Path/To/The/File");

QObject::connect(&watcher, SIGNAL(fileChanged(const QString&)), receiver, SLOT(handleFileChanged(const QString&)));
...
Run Code Online (Sandbox Code Playgroud)