2012-10-06 34 views
0

大家好我想用QFileSystemWatcher來遞歸地觀察給定目錄及其子目錄的變化,但void QFileSystemWatcher::addPath (const QString & path)不讓我這樣做,所以有什麼想法很容易做到或我應該實現它通過我自己(提取所有目錄和子目錄和文件以添加void QFileSystemWatcher::addPaths (const QStringList & paths))?QFileSystemWatcher :: addPath遞歸

任何幫助將不勝感激。

預先感謝您。

回答

2

QFileSystemWatcher類的documentation沒有聲明遞歸監視是其合約的一部分。所以我認爲一個解決方案可能是,因爲你暗示,走路目錄樹自己,收集所有子目錄及其文件中的字符串列表,並使用

void QFileSystemWatcher::addPaths (const QStringList & paths) 

而且,我認爲這可能是對你有用要提及你正在使用哪個版本的qt,因爲根據這個threadQFileSystemWatcher已被棄用,並且一個新的api應該替換它。

+0

嗨,謝謝你的迴應,我正在使用QtSdk-v1_2_1(QT 4.8.1),'提供了舊的原型:void QFileSystemWatcher :: addPath(const QString&path)',所以我想我會繼續我的自我,再次感謝你。 – Oumaya

+1

這是一個[示例](http://my.safaribooksonline.com/book/programming/qt/0596000642/working-with-files-and-directories/prowqt2-chp-11-sect-2),演示如何步行一個使用** QDir **的目錄。您可以輕鬆調整以適應您的需求。 – ylabidi

+0

謝謝@ylabidi,它真的很有用。 – Oumaya