Для QFileSystemWatcher прохожу по вложенным папкам, чтобы собрать все пути. Не могу понять, почему такой вот код не работает корректно, в лист пишутся не подпапки, а сама целевая папка и родительские:
QDirIterator it(some_dir.absolutePath(), QDir::AllDirs, QDirIterator::Subdirectories);
QStringList dirs_to_watch;
while (it.hasNext())
{
QFileInfo entry(
it.next());
dirs_to_watch.append(entry.absolutePath());
}
При том, что код с использованием std::filesystem работает корректно:
QStringList dirs_to_watch;
std::error_code ec;
fs::recursive_directory_iterator dicom_dirs_iter(some_dir.absolutePath().toStdWString(), ec);
if (!ec)
for (const auto& entry : dicom_dirs_iter)
if (entry.is_directory())
dirs_to_watch.append
(
QString::fromStdWString(entry.path())
);