【问题标题】:QFileSystemWatcher::files() doesn't return a list of filesQFileSystemWatcher::files() 不返回文件列表
【发布时间】:2014-10-17 11:23:23
【问题描述】:

我使用QFileSystemWatcher 来监视我在watcher->addPath("myPath") 方法中设置的目录中的更改。

当我打电话给watcher->directories() 时,我看到了myPath

但是当我打电话给watcher->files() 时,我什么也看不到。我想当我使用这种方法时我会看到目录中的文件。

如何查看目录中的文件?

【问题讨论】:

    标签: c++ qt qfilesystemwatcher


    【解决方案1】:

    QFileSystemWatcher 用于监视文件系统的变化。

    要获取目录中的文件列表,请使用QDir::entryList

    例子:

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

    如果您需要监视目录中的更改(文件添加/重命名或删除事件),您可以将addPath 与目录一起使用并收听directoryChanged 信号。
    如果您需要查看文件内容更改,请使用带有文件完整路径的addPath 并收听fileChanged 信号。

    相应地directories 返回您已添加的目录列表,files 返回您已添加的文件列表。

    【讨论】:

    • 我收听你显示的信号,但由于文件列表为空,我的插槽没有响应 - 所以当我将一些文件添加到目录时,这个信号不会发出:(
    • directoryChanged 和方法 files 之间没有任何共同之处。使用QDir获取文件列表。
    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    相关资源
    最近更新 更多