LocalFileDownloader 类
类 KDUpdater::LocalFileDownloaderLocalFileDownloader 类用于从本地文件系统复制文件。更多...
头文件 | #include <LocalFileDownloader> |
继承 | KDUpdater::FileDownloader |
公共函数
LocalFileDownloader(QObject *parent = 0) | |
虚拟 | ~LocalFileDownloader() |
重实现公共函数
虚拟 | canDownload() const override |
虚拟 KDUpdater::LocalFileDownloader * | clone(QObject *parent = 0) const override |
虚拟 QString | downloadedFileName() const override |
虚拟 | isDownloaded() const override |
虚拟 void | setDownloadedFileName(const QString &name) override |
公共槽
虚拟 void | cancelDownload() override |
重实现受保护的函数
虚拟 void | onError() override |
虚拟 void | onSuccess() override |
虚拟 void | timerEvent(QTimerEvent *event) override |
详细描述
KDUpdater 的用户可能会同时下载多个文件;有时与其他文件下载器并行。如果复制本地文件耗时较长,将导致其他下载挂起。因此,使用计时器,每次单位时间内复制一块数据,尽管 QFile::copy() 执行将文件从一个位置复制到另一个位置的任务。
成员函数文档
[显式]
LocalFileDownloader::LocalFileDownloader(QObject *parent = 0)
使用父 parent 创建本地文件下载器。
[虚拟 noexcept]
LocalFileDownloader::~LocalFileDownloader()
销毁本地文件下载器。
[覆盖虚拟]
bool LocalFileDownloader::canDownload() const
重实现: FileDownloader::canDownload() const.
如果文件存在且可读,返回 true
。
[重写虚拟函数槽]
void LocalFileDownloader::cancelDownload()
重新实现: FileDownloader::cancelDownload().
取消复制文件。
[重写虚拟]
KDUpdater::LocalFileDownloader *LocalFileDownloader::clone(QObject *parent = 0) const
重新实现: FileDownloader::clone(QObject *parent) const.
复制本地文件下载器并将其分配给父节点 parent。返回新的本地文件下载器。
[重写虚拟]
QString LocalFileDownloader::downloadedFileName() const
重新实现: FileDownloader::downloadedFileName() const.
返回已复制文件的文件名。
另请参阅setDownloadedFileName().
[重写虚拟保护]
bool LocalFileDownloader::isDownloaded() const
重新实现: FileDownloader::isDownloaded() const.
如果文件已复制返回true
。
[重写虚拟保护]
void LocalFileDownloader::onError()
重新实现: FileDownloader::onError().
在复制过程中发生错误时,清除目标文件并停止下载速度定时器。
[重写虚拟保护]
void LocalFileDownloader::onSuccess()
重新实现: FileDownloader::onSuccess().
在成功复制后关闭目标文件并停止下载速度定时器。
[重写虚拟]
void LocalFileDownloader::setDownloadedFileName(const QString &name)
重新实现: FileDownloader::setDownloadedFileName(const QString &name).
将已复制文件的文件名设置为name。
另请参阅downloadedFileName().
[重写虚拟保护]
void LocalFileDownloader::timerEvent(QTimerEvent *event)
重新实现: QObject::timerEvent(QTimerEvent *event).
在下载定时器事件event发生时调用。
©2021 The Qt Company Ltd. 本文档中的文档贡献均为各自版权拥有者的版权。所提供的文档是根据免费软件基金会发布的《GNU自由文档许可协议》第1.3版条款许可的。Qt公司、Qt及其相关标志是芬兰及其它国家和地区Qt公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。