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

时间:2014-04-05 16:01:06

标签: c++ qt qtcore qfile qfilesystemwatcher

如果指定目录(或子文件夹)中的文件没有每次都获取所有修改时间,有什么办法可以触发操作吗?我问,因为我要现场检查

2 个答案:

答案 0 :(得分:9)

您需要使用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&)));
...

答案 1 :(得分:3)

您正在寻找QFileSystemWatcher