【发布时间】:2012-09-27 00:04:59
【问题描述】:
我需要监视一个文件系统,我有一个函数可以递归地浏览文件夹和文件,并将它们的路径添加到我的 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 事件。
有人知道发生了什么吗? 我担心我的程序不稳定,这个错误不能白白显示。
感谢阅读和帮助,
拉斐尔。
【问题讨论】:
标签: c++ file qt qfilesystemwatcher