ファイルシステムを監視する必要があります。フォルダーとファイルを再帰的に参照し、それらのパスを QFileSystemWatcher に追加する機能があります。
void watchFileSystem(const QDir& dir, QFileSystemWatcher& watcher)
{
watcher.addPath(dir.absolutePath());
QDirIterator iterator(dir.absolutePath(), QDirIterator::Subdirectories);
while (iterator.hasNext()) {
QString foldername = QString(iterator.fileName());
if (foldername != "." && foldername != ".." && foldername != "")
watcher.addPath(iterator.filePath());
iterator.next();
if (!iterator.fileInfo().isDir()) {
watcher.addPath(iterator.filePath());
}
}
}
実行中、すべての「watcher.addPath(iterator.filePath());」コンソールに次のエラー メッセージが表示されます。
QFileSystemWatcher: パスの追加に失敗しました: C:/.../anyfile.ext
最も奇妙なことは、それがとにかく機能することです。ファイルまたはフォルダーの名前を変更/編集すると、fileChanged および folderChanged イベントがトリガーされます。
誰が何が起こっているのか考えていますか? プログラムの不安定性が心配です。このエラーは何も表示されません。
読んで助けてくれてありがとう、
ラファエル。