使用方法
void use()
{
QFileSystemWatcher *watcher;
watcher = new QFileSystemWatcher();
//加入监听目录,对目录内的变化一直做到监听
watcher->addPath(path);
connect(watcher,SIGNAL(directoryChanged(QString)),this,SLOT(Function_1(QString)));
connect(watcher,SIGNAL(fileChanged(QString)),this,SLOT(Function_2(QString)));
}
//目录变化触发信号
void Function_1(QString)
{
//在此处加入监听文件,这是为了避免在文件发生改变的时候本函数响应两次
if(watcher->files().size()==0)
watcher->addPath(path2)
}
//文件变化触发信号
void Function_2(QString)
{
//do something
}