QFileSystemWatcher 类

The QFileSystemWatcher class provides an interface for monitoring files and directories for modifications. 更多...

头: #include <QFileSystemWatcher>
Since: Qt 4.2
继承: QObject

注意: 此类的所有函数 可重入 .

公共函数

QFileSystemWatcher (QObject * parent = 0)
QFileSystemWatcher (const QStringList & paths , QObject * parent = 0)
~QFileSystemWatcher ()
void addPath (const QString & path )
void addPaths (const QStringList & paths )
QStringList directories () const
QStringList 文件 () const
void removePath (const QString & path )
void removePaths (const QStringList & paths )

信号

void directoryChanged (const QString & path )
void fileChanged (const QString & path )

额外继承成员

详细描述

The QFileSystemWatcher class provides an interface for monitoring files and directories for modifications.

QFileSystemWatcher monitors the file system for changes to files and directories by watching a list of specified paths.

调用 addPath () 以看守特定文件或目录。可以添加多个路径使用 addPaths () 函数。可以移除现有路径通过使用 removePath () 和 removePaths () 函数。

QFileSystemWatcher examines each path added to it. Files that have been added to the QFileSystemWatcher can be accessed using the 文件 () 函数,和目录使用 directories () 函数。

The fileChanged () 信号被发射当文件被修改、被重命名或从磁盘被移除时。同样, directoryChanged () signal is emitted when a directory or its contents is modified or removed. Note that QFileSystemWatcher stops monitoring files once they have been renamed or removed from disk, and directories once they have been removed from disk.

注意: 在不支持 inotify 的运行 Linux 内核的系统,无法取消挂载包含看守路径的文件系统。

注意: Windows CE does not support directory monitoring by default as this depends on the file system driver installed.

注意: The act of monitoring files and directories for modifications consumes system resources. This implies there is a limit to the number of files and directories your process can monitor simultaneously. On Mac OS X 10.4 and all BSD variants, for example, an open file descriptor is required for each monitored file. Some system limits the number of open file descriptors to 256 by default. This means that addPath () 和 addPaths () will fail if your process tries to add more than 256 files or directories to the file system monitor. Also note that your process may have other file descriptors open in addition to the ones for files being monitored, and these other open descriptors also count in the total. Mac OS X 10.5 and up use a different backend and do not suffer from this issue.

另请参阅 QFile and QDir .

成员函数文档编制

QFileSystemWatcher:: QFileSystemWatcher ( QObject * parent = 0)

构造新的文件系统看守程序对象采用给定 parent .

QFileSystemWatcher:: QFileSystemWatcher (const QStringList & paths , QObject * parent = 0)

构造新的文件系统看守程序对象采用给定 parent which monitors the specified paths 列表。

QFileSystemWatcher:: ~QFileSystemWatcher ()

销毁文件系统看守程序。

void QFileSystemWatcher:: addPath (const QString & path )

添加 path 到文件系统看守程序若 path 存在。路径不被添加若路径不存在 (或路径已被文件系统看守程序所监视)。

path 指定目录, directoryChanged () 信号会被发射当 path 被修改或从磁盘被移除;否则 fileChanged () 信号被发射当 path 被修改、被重命名或被移除。

注意: There is a system dependent limit to the number of files and directories that can be monitored simultaneously. If this limit has been reached, path will not be added to the file system watcher, and a warning message will be printed to stderr .

另请参阅 addPaths () 和 removePath ().

void QFileSystemWatcher:: addPaths (const QStringList & paths )

添加每个路径在 paths 到文件系统看守程序。路径不被添加若路径不存在 (或路径已被文件系统看守程序所监视)。

若路径指定目录, directoryChanged () 信号会被发射当路径被修改或从磁盘被移除时;否则 fileChanged () 信号被发射当路径被修改、被重命名或被移除时。

注意: There is a system dependent limit to the number of files and directories that can be monitored simultaneously. If this limit has been reached, the excess paths will not be added to the file system watcher, and a warning message will be printed to stderr for each path that could not be added.

另请参阅 addPath () 和 removePaths ().

QStringList QFileSystemWatcher:: directories () const

返回正被看守的目录路径列表。

另请参阅 文件 ().

[signal] void QFileSystemWatcher:: directoryChanged (const QString & path )

This signal is emitted when the directory at a specified path , is modified (e.g., when a file is added, modified or deleted) or removed from disk. Note that if there are several changes during a short period of time, some of the changes might not emit this signal. However, the last change in the sequence of changes will always generate this signal.

另请参阅 fileChanged ().

[signal] void QFileSystemWatcher:: fileChanged (const QString & path )

此信号被发射当文件在指定 path 被修改、被重命名或从磁盘被移除。

另请参阅 directoryChanged ().

QStringList QFileSystemWatcher:: 文件 () const

返回正被看守的文件路径列表。

另请参阅 directories ().

void QFileSystemWatcher:: removePath (const QString & path )

移除指定 path 从文件系统看守程序。

另请参阅 removePaths () 和 addPath ().

void QFileSystemWatcher:: removePaths (const QStringList & paths )

移除指定 paths 从文件系统看守程序。

另请参阅 removePath () 和 addPaths ().