我看一個目錄遞歸使用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
請幫助我的決議。