我看一个目录递归使用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
请帮助我的决议。