2014-10-17 50 views
0

我使用QFileSystemWatcher來觀察我在watcher->addPath("myPath")方法中設置的目錄中的更改。QFileSystemWatcher :: files()不返回文件列表

當我打電話給watcher->directories()我看到myPath

但是當我打電話watcher->files()我什麼都看不到。我想我會在使用這種方法時看到目錄中的文件。

如何查看目錄中的文件?

回答

2

QFileSystemWatcher旨在觀察文件系統中的更改。

要獲取目錄中的文件列表,請使用QDir::entryList

例子:

QString files = QDir("c:\\").entryList(QDir::NoDotAndDotDot); 

如果您需要觀看一個目錄的變化(文件添加/重命名或刪除事件)使用addPath與目錄,並聽取directoryChanged信號。
如果您需要觀看文件內容更改,請使用addPath以獲取文件的完整路徑並收聽fileChanged信號。

相應地directories返回已添加的目錄列表,並且files返回已添加的文件列表。

+0

我聽信號,你顯示,但我的插槽沒有響應,因爲文件的空列表 - 所以這個信號不會發出時,我添加一些文件到目錄:( – 2014-10-17 11:50:04

+0

「directoryChanged」之間沒有什麼共同之處,和'files'方法,使用'QDir'獲取文件列表 – Ezee 2014-10-17 11:57:46

+0

非常感謝:)) – 2014-10-17 12:00:30