QWebEngineDownloadItem Class

The QWebEngineDownloadItem class provides information about a download. More...

Header: #include <QWebEngineDownloadItem>
qmake: QT += webenginewidgets
Since: Qt 5.5
Inherits: QObject

Public Types

enum DownloadInterruptReason { NoReason, FileFailed, FileAccessDenied, FileNoSpace, ..., UserCanceled }
enum DownloadState { DownloadRequested, DownloadInProgress, DownloadCompleted, DownloadCancelled, DownloadInterrupted }
enum DownloadType { Attachment, DownloadAttribute, UserRequested, SavePage }
enum SavePageFormat { UnknownSaveFormat, SingleHtmlSaveFormat, CompleteHtmlSaveFormat, MimeHtmlSaveFormat }

Public Functions

quint32 id() const
DownloadInterruptReason interruptReason() const
QString interruptReasonString() const
bool isFinished() const
QString mimeType() const
QString path() const
qint64 receivedBytes() const
SavePageFormat savePageFormat() const
void setPath(QString path)
void setSavePageFormat(SavePageFormat format)
DownloadState state() const
qint64 totalBytes() const
DownloadType type() const
QUrl url() const
  • 32 public functions inherited from QObject

Public Slots

void accept()
void cancel()
  • 1 public slot inherited from QObject

Signals

void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
void finished()
void stateChanged(QWebEngineDownloadItem::DownloadState state)

Additional Inherited Members

  • 1 property inherited from QObject
  • 11 static public members inherited from QObject
  • 9 protected functions inherited from QObject

Detailed Description

The QWebEngineDownloadItem class provides information about a download.

QWebEngineDownloadItem stores the state of a download to be used to manage requested downloads.

Member Type Documentation

enum QWebEngineDownloadItem::DownloadInterruptReason

Describes the reason why a download was interrupted:

ConstantValueDescription
QWebEngineDownloadItem::NoReason0Unknown reason or not interrupted.
QWebEngineDownloadItem::FileFailed1General file operation failure.
QWebEngineDownloadItem::FileAccessDenied2The file cannot be written locally, due to access restrictions.
QWebEngineDownloadItem::FileNoSpace3Insufficient space on the target drive.
QWebEngineDownloadItem::FileNameTooLong5The directory or file name is too long.
QWebEngineDownloadItem::FileTooLarge6The file size exceeds the file system limitation.
QWebEngineDownloadItem::FileVirusInfected7The file is infected with a virus.
QWebEngineDownloadItem::FileTransientError10Temporary problem (for example the file is in use, out of memory, or too many files are opened at once).
QWebEngineDownloadItem::FileBlocked11The file was blocked due to local policy.
QWebEngineDownloadItem::FileSecurityCheckFailed12An attempt to check the safety of the download failed due to unexpected reasons.
QWebEngineDownloadItem::FileTooShort13An attempt was made to seek past the end of a file when opening a file (as part of resuming a previously interrupted download).
QWebEngineDownloadItem::FileHashMismatch14The partial file did not match the expected hash.
QWebEngineDownloadItem::NetworkFailed20General network failure.
QWebEngineDownloadItem::NetworkTimeout21The network operation has timed out.
QWebEngineDownloadItem::NetworkDisconnected22The network connection has been terminated.
QWebEngineDownloadItem::NetworkServerDown23The server has gone down.
QWebEngineDownloadItem::NetworkInvalidRequest24The network request was invalid (for example, the original or redirected URL is invalid, has an unsupported scheme, or is disallowed by policy).
QWebEngineDownloadItem::ServerFailed30General server failure.
QWebEngineDownloadItem::ServerBadContent33The server does not have the requested data.
QWebEngineDownloadItem::ServerUnauthorized34The server did not authorize access to the resource.
QWebEngineDownloadItem::ServerCertProblem35A problem with the server certificate occurred.
QWebEngineDownloadItem::ServerForbidden36Access forbidden by the server.
QWebEngineDownloadItem::ServerUnreachable37Unexpected server response (might indicate that the responding server may not be the intended server).
QWebEngineDownloadItem::UserCanceled40The user canceled the download.

This enum was introduced or modified in Qt 5.9.

enum QWebEngineDownloadItem::DownloadState

This enum describes the state of the download:

ConstantValueDescription
QWebEngineDownloadItem::DownloadRequested0Download has been requested, but has not been accepted yet.
QWebEngineDownloadItem::DownloadInProgress1Download is in progress.
QWebEngineDownloadItem::DownloadCompleted2Download completed successfully.
QWebEngineDownloadItem::DownloadCancelled3Download has been cancelled.
QWebEngineDownloadItem::DownloadInterrupted4Download has been interrupted (by the server or because of lost connectivity).

enum QWebEngineDownloadItem::DownloadType

Describes the requested download's type.

ConstantValueDescription
QWebEngineDownloadItem::Attachment0The web server's response includes a Content-Disposition header with the attachment directive. If Content-Disposition is present in the reply, the web server is indicating that the client should prompt the user to save the content regardless of the content type. See RFC 2616 section 19.5.1 for details.
QWebEngineDownloadItem::DownloadAttribute1The user clicked a link with the download attribute. See HTML download attribute for details.
QWebEngineDownloadItem::UserRequested2The user initiated the download, for example by selecting a web action.
QWebEngineDownloadItem::SavePage3Saving of the current page was requested (for example by the QWebEnginePage::SavePage web action).

This enum was introduced or modified in Qt 5.8.

enum QWebEngineDownloadItem::SavePageFormat

This enum describes the format that is used to save a web page.

ConstantValueDescription
QWebEngineDownloadItem::UnknownSaveFormat-1This is not a request for downloading a complete web page.
QWebEngineDownloadItem::SingleHtmlSaveFormat0The page is saved as a single HTML page. Resources such as images are not saved.
QWebEngineDownloadItem::CompleteHtmlSaveFormat1The page is saved as a complete HTML page, for example a directory containing the single HTML page and the resources.
QWebEngineDownloadItem::MimeHtmlSaveFormat2The page is saved as a complete web page in the MIME HTML format.

This enum was introduced or modified in Qt 5.7.

Member Function Documentation

[slot] void QWebEngineDownloadItem::accept()

Accepts the current download request, which will start the download.

See also finished() and stateChanged().

[slot] void QWebEngineDownloadItem::cancel()

Cancels the current download.

See also finished() and stateChanged().

[signal] void QWebEngineDownloadItem::downloadProgress(qint64 bytesReceived, qint64 bytesTotal)

This signal is emitted to indicate the progress of the download request.

The bytesReceived parameter indicates the number of bytes received, while bytesTotal indicates the total number of bytes expected to be downloaded. If the size of the file to be downloaded is not known, bytesTotal will be 0.

See also totalBytes() and receivedBytes().

[signal] void QWebEngineDownloadItem::finished()

This signal is emitted whenever the download finishes.

See also state() and isFinished().

quint32 QWebEngineDownloadItem::id() const

Returns the download item's ID.

DownloadInterruptReason QWebEngineDownloadItem::interruptReason() const

Returns the reason why the download was interrupted.

This function was introduced in Qt 5.9.

See also interruptReasonString().

QString QWebEngineDownloadItem::interruptReasonString() const

Returns a human-readable description of the reason for interrupting the download.

This function was introduced in Qt 5.9.

See also interruptReason().

bool QWebEngineDownloadItem::isFinished() const

Returns whether this download is finished (not in progress).

See also finished() and state().

QString QWebEngineDownloadItem::mimeType() const

Returns the MIME type of the download.

This function was introduced in Qt 5.6.

QString QWebEngineDownloadItem::path() const

Returns the full target path where data is being downloaded to.

The path includes the file name. The default suggested path is the standard download location and file name is deduced not to overwrite already existing files.

See also setPath().

qint64 QWebEngineDownloadItem::receivedBytes() const

Returns the amount of data in bytes that has been downloaded so far.

-1 means the size is unknown.

SavePageFormat QWebEngineDownloadItem::savePageFormat() const

Returns the format the web page will be saved in if this is a download request for a web page.

This function was introduced in Qt 5.7.

See also setSavePageFormat().

void QWebEngineDownloadItem::setPath(QString path)

Sets the full target path to download the file to.

The path should also include the file name. The download path can only be set in response to the QWebEngineProfile::downloadRequested() signal before the download is accepted. Past that point, this function has no effect on the download item's state.

See also path().

void QWebEngineDownloadItem::setSavePageFormat(SavePageFormat format)

Sets the format the web page will be saved in if this is a download request for a web page.

This function was introduced in Qt 5.7.

See also savePageFormat().

DownloadState QWebEngineDownloadItem::state() const

Returns the download item's current state.

See also DownloadState.

[signal] void QWebEngineDownloadItem::stateChanged(QWebEngineDownloadItem::DownloadState state)

This signal is emitted whenever the download's state changes.

See also state() and DownloadState.

qint64 QWebEngineDownloadItem::totalBytes() const

Returns the the total amount of data to download in bytes.

-1 means the size is unknown.

DownloadType QWebEngineDownloadItem::type() const

Returns the requested download's type.

This function was introduced in Qt 5.8.

QUrl QWebEngineDownloadItem::url() const

Returns the download's origin URL.

© 2019 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.