2014-10-17 82 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