LocalFileDownloader 类

KDUpdater::LocalFileDownloader

LocalFileDownloader 类用于从本地文件系统复制文件。更多...

头文件 #include <LocalFileDownloader>
继承 KDUpdater::FileDownloader

公共函数

LocalFileDownloader(QObject *parent = 0)
虚拟~LocalFileDownloader()

重实现公共函数

虚拟canDownload() const override
虚拟 KDUpdater::LocalFileDownloader *clone(QObject *parent = 0) const override
虚拟 QStringdownloadedFileName() const override
虚拟isDownloaded() const override
虚拟 voidsetDownloadedFileName(const QString &name) override

公共槽

虚拟 voidcancelDownload() override

重实现受保护的函数

虚拟 voidonError() override
虚拟 voidonSuccess() override
虚拟 voidtimerEvent(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公司有限责任公司的商标。所有其他商标均为其各自所有者的财产。