Я смотрю каталог, рекурсивно использующий QFileSystemWatcher. И я не могу переименовать/удалить родительский каталог программно или вручную, если его подкаталоги просматриваются.QFileSystemWatcher блокирует каталог в Windows
При попытке переименования вручную через систему я получаю окно с сообщением «Действие не может быть завершено, потому что папка/файл в нем открывается в другой программе» и при переименовании программно он терпит неудачу.
Я получил эти подобные ошибки, но не разрешение:
http://qt-project.org/forums/viewthread/10530
https://bugreports.qt-project.org/browse/QTBUG-7905
Я не наблюдал. и .. как сказано в приведенной выше ссылке, но все же каталог заблокирован.
В случае программного переименования. Я пробовал обходное решение: 1. Удалите все пути подкаталога от наблюдателя до переименования родителя. 2. Переименуйте родительский элемент. 3. Добавьте пути подкаталога снова.
Но и здесь моя программа не работает на первом шаге. QFileSystemWatcher :: removePath() возвращает false при попытке удалить путь подкаталога, а QFileSystemWatcher :: directories() показывает эту директорию в отслеживаемых путях. То же, что размещено здесь https://bugreports.qt-project.org/browse/QTBUG-10846
Поскольку шаг 1 здесь не работает, шаг 2 также терпит неудачу, и я не могу переименовать родительский каталог.
Я использую Qt5.2.1 и Windows 7.
Пожалуйста, помогите мне с разрешением.