2014-07-03 26 views
1

我有很多目錄,我應該與sqlite數據庫同步。數據庫應該將文件內容存儲在這些目錄中。 爲此,我創建了一個線程(最低優先級),它不斷查找目錄中的更改。然而這個線程使用了100%的一個核心的CPU。 有沒有更好的方法來同步文件?也許一個偵聽器在文件被創建或刪除時發出信號?與sqlite數據庫同步文件qt C++

感謝, 問候安德烈

回答

3

您可以使用QFileSystemWatcher。

從Qt的文檔:

的QFileSystemWatcher類提供用於監控文件和目錄進行修改的接口。 QFileSystemWatcher通過觀察指定路徑的列表來監視文件系統對文件和目錄的更改。 fileChanged()信號在文件被修改,重命名或從磁盤移除時發出。類似地,directoryChanged()信號在目錄或其內容被修改或刪除時發出。請注意,QFileSystemWatcher會在文件被重命名或從磁盤中刪除後停止監視文件,以及從磁盤刪除文件後停止監視文件。