Spec-Zone.ru › Qt 5.13

Класс QWebEngineDownloadItem

Класс QWebEngineDownloadItem предоставляет информацию о загрузке. Подробнее...

Заголовок: #include <QWebEngineDownloadItem>
qmake: QT += webenginewidgets
С версии: Qt 5.5
Наследует: QObject

Этот класс был представлен в Qt 5.5.

  • Список всех членов, включая унаследованные
  • Устаревшие члены

Публичные типы

перечисление DownloadInterruptReason { NoReason, FileFailed, FileAccessDenied, FileNoSpace, ..., UserCanceled }
перечисление DownloadState { DownloadRequested, DownloadInProgress, DownloadCompleted, DownloadCancelled, DownloadInterrupted }
перечисление SavePageFormat { UnknownSaveFormat, SingleHtmlSaveFormat, CompleteHtmlSaveFormat, MimeHtmlSaveFormat }

Публичные функции

quint32 id() const
QWebEngineDownloadItem::DownloadInterruptReason interruptReason() const
QString interruptReasonString() const
bool isFinished() const
bool isPaused() const
bool isSavePageDownload() const
QString mimeType() const
QWebEnginePage * page() const
QString path() const
qint64 receivedBytes() const
QWebEngineDownloadItem::SavePageFormat savePageFormat() const
void setPath(QString path)
void setSavePageFormat(QWebEngineDownloadItem::SavePageFormat format)
QWebEngineDownloadItem::DownloadState state() const
qint64 totalBytes() const
QUrl url() const

Публичные слоты

void accept()
void cancel()
void pause()
void resume()

Сигналы

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

Подробное описание

QWebEngineDownloadItem моделирует загрузку на протяжении всего её жизненного цикла, начиная с запроса на загрузку и заканчивая завершённой загрузкой. Его можно использовать, например, для получения информации о новых загрузках, мониторинга прогресса и приостановки, возобновления и отмены загрузок.

Загрузки обычно инициируются взаимодействием пользователя с веб-страницей. Ответственность за уведомление приложения о новых запросах на загрузку лежит на QWebEngineProfile, который делает это путём выдачи сигнала downloadRequested вместе с недавно созданным QWebEngineDownloadItem. Затем приложение может изучить этот элемент и принять решение о том, принять его или нет. Обработчик сигнала должен явно вызвать accept() для элемента, чтобы Qt WebEngine фактически начал загрузку и запись данных на диск. Если никакой обработчик сигнала не вызывает accept(), запрос на загрузку будет автоматически отклонён, и ничего не будет записано на диск.

Примечание: Некоторые свойства, такие как path, в котором будет сохранён файл, могут быть изменены только до вызова accept().

Жизненный цикл объекта

Все элементы гарантированно остаются валидными во время выдачи сигнала downloadRequested. Если accept() не вызывается ни одним обработчиком сигнала, то элемент будет удалён немедленно после выдачи сигнала. Это означает, что приложение не должно хранить ссылки на отклоненные элементы загрузки. Это также означает, что приложение не должно использовать очереди для обработки этого сигнала.

Если accept() вызывается обработчиком сигнала, тогда QWebEngineProfile принимает владение элементом. Тем не менее, для приложения безопасно удалить элемент в любое время, кроме обработки сигнала downloadRequested. Поскольку QWebEngineProfile является долгоживущим объектом, на самом деле рекомендуется, чтобы приложение удаляло любые элементы, которые больше не нужны.

Примечание: Удаление элемента также автоматически отменяет загрузку начиная с версии 5.12.2, но для совместимости рекомендуется отменять вручную перед удалением.

Загрузки веб-страниц

В дополнение к обычным файловым загрузкам, которые просто извлекают некоторые сырые байты из сети и записывают их на диск, Qt WebEngine также поддерживает сохранение полных веб-страниц, что включает в себя разбор HTML-страницы, загрузку зависимых ресурсов и, возможно, упаковку всего в специальный формат файла (savePageFormat). Чтобы проверить, предназначена ли загрузка для файла или веб-страницы, используйте isSavePageDownload.

См. также QWebEngineProfile, QWebEngineProfile::downloadRequested, QWebEnginePage::download и QWebEnginePage::save.

Документация по типу членов

перечисление QWebEngineDownloadItem::DownloadInterruptReason

Описывает причину прерывания загрузки:

Константа Значение Описание
QWebEngineDownloadItem::NoReason 0 Неизвестная причина или не прервано.
QWebEngineDownloadItem::FileFailed 1 Общее повреждение операции с файлом.
QWebEngineDownloadItem::FileAccessDenied 2 Файл не может быть записан локально из-за ограничений доступа.
QWebEngineDownloadItem::FileNoSpace 3 Недостаточно места на целевом диске.
QWebEngineDownloadItem::FileNameTooLong 5 Имя каталога или файла слишком длинное.
QWebEngineDownloadItem::FileTooLarge 6 Размер файла превышает ограничение файловой системы.
QWebEngineDownloadItem::FileVirusInfected 7 Файл заражен вирусом.
QWebEngineDownloadItem::FileTransientError 10 Временная проблема (например, файл используется, недостаточно памяти или одновременно открыто слишком много файлов).
QWebEngineDownloadItem::FileBlocked 11 Файл заблокирован из-за локальной политики.
QWebEngineDownloadItem::FileSecurityCheckFailed 12 Попытка проверки безопасности загрузки не удалась по непредвиденным причинам.
QWebEngineDownloadItem::FileTooShort 13 При открытии файла была предпринята попытка перейти за пределы файла (в рамках возобновления ранее прерванной загрузки).
QWebEngineDownloadItem::FileHashMismatch 14 Частичный файл не соответствует ожидаемой хеш-сумме.
QWebEngineDownloadItem::NetworkFailed 20 Общее сетевое повреждение.
QWebEngineDownloadItem::NetworkTimeout 21 Операция сети истекла.
QWebEngineDownloadItem::NetworkDisconnected 22 Сетевое соединение было прервано.
QWebEngineDownloadItem::NetworkServerDown 23 Сервер отключился.
QWebEngineDownloadItem::NetworkInvalidRequest 24 Запрос сети был недействительным (например, исходный или перенаправленный URL недействителен, имеет неподдерживаемый протокол или запрещен политикой).
QWebEngineDownloadItem::ServerFailed 30 Общее повреждение сервера.
QWebEngineDownloadItem::ServerBadContent 33 Сервер не имеет запрошенных данных.
QWebEngineDownloadItem::ServerUnauthorized 34 Сервер не авторизовал доступ к ресурсу.
QWebEngineDownloadItem::ServerCertProblem 35 Возникла проблема с сертификатом сервера.
QWebEngineDownloadItem::ServerForbidden 36 Доступ запрещен сервером.
QWebEngineDownloadItem::ServerUnreachable 37 Неожиданный ответ сервера (может указывать на то, что отвечающий сервер не является целевым).
QWebEngineDownloadItem::UserCanceled 40 Пользователь отменил загрузку.

Этот перечисление был введен или изменен в Qt 5.9.

enum QWebEngineDownloadItem::DownloadState

Это перечисление описывает состояние загрузки:

Константа Значение Описание
QWebEngineDownloadItem::DownloadRequested 0 Загрузка запрошена, но еще не принята.
QWebEngineDownloadItem::DownloadInProgress 1 Загрузка в процессе.
QWebEngineDownloadItem::DownloadCompleted 2 Загрузка завершена успешно.
QWebEngineDownloadItem::DownloadCancelled 3 Загрузка отменена.
QWebEngineDownloadItem::DownloadInterrupted 4 Загрузка прервана (сервером или из-за потери соединения).

enum QWebEngineDownloadItem::SavePageFormat

Это перечисление описывает формат, используемый для сохранения веб-страницы.

Константа Значение Описание
QWebEngineDownloadItem::UnknownSaveFormat -1 Это не запрос на загрузку полной веб-страницы.
QWebEngineDownloadItem::SingleHtmlSaveFormat 0 Страница сохраняется как единственная HTML-страница. Ресурсы, такие как изображения, не сохраняются.
QWebEngineDownloadItem::CompleteHtmlSaveFormat 1 Страница сохраняется как полная HTML-страница, например, каталог, содержащий единственную HTML-страницу и ресурсы.
QWebEngineDownloadItem::MimeHtmlSaveFormat 2 Страница сохраняется как полная веб-страница в формате MIME HTML.

Это перечисление было введено или изменено в Qt 5.7.

Документация по функциям-членам

[slot] void QWebEngineDownloadItem::accept()

Принимает текущий запрос на загрузку, что запустит загрузку.

Если элемент находится в состоянии DownloadRequested, то он перейдет в состояние DownloadInProgress, и загрузка начнется. Если элемент находится в любом другом состоянии, ничего не произойдет.

См. также finished() и stateChanged().

[slot] void QWebEngineDownloadItem::cancel()

Отменяет текущую загрузку.

Если элемент находится в состоянии DownloadInProgress, то он перейдет в состояние DownloadCancelled, загрузка остановится, а частично загруженные файлы будут удалены с диска.

Если элемент находится в состоянии DownloadCompleted, ничего не произойдет. Если элемент находится в любом другом состоянии, он перейдет в состояние DownloadCancelled без дальнейших последствий.

См. также finished() и stateChanged().

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

Этот сигнал подается для указания прогресса запроса на загрузку.

Параметр bytesReceived указывает количество полученных байтов, а bytesTotal указывает общее количество байтов, ожидаемых к загрузке. Если размер загружаемого файла неизвестен, bytesTotal будет равен 0.

См. также totalBytes() и receivedBytes().

[signal] void QWebEngineDownloadItem::finished()

Этот сигнал подается при завершении загрузки.

См. также state() и isFinished().

[signal] void QWebEngineDownloadItem::isPausedChanged(bool isPaused)

Этот сигнал подается всякий раз, когда isPaused меняется.

Эта функция была введена в Qt 5.10.

См. также pause() и isPaused().

[slot] void QWebEngineDownloadItem::pause()

Приостанавливает загрузку.

Не имеет эффекта, если состояние не DownloadInProgress. Не меняет состояние.

Эта функция была введена в Qt 5.10.

См. также resume() и isPaused().

[slot] void QWebEngineDownloadItem::resume()

Возобновляет текущую загрузку, если она была приостановлена или прервана.

Не имеет эффекта, если состояние не DownloadInProgress или DownloadInterrupted. Не меняет состояние.

Эта функция была добавлена в Qt 5.10.

См. также pause(), isPaused() и state().

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

Этот сигнал испускается всякий раз, когда состояние загрузки state меняется.

См. также state() и DownloadState.

quint32 QWebEngineDownloadItem::id() const

Возвращает идентификатор элемента загрузки.

QWebEngineDownloadItem::DownloadInterruptReason QWebEngineDownloadItem::interruptReason() const

Возвращает причину прерывания загрузки.

Эта функция была добавлена в Qt 5.9.

См. также interruptReasonString().

QString QWebEngineDownloadItem::interruptReasonString() const

Возвращает удобочитаемое описание причины прерывания загрузки.

Эта функция была добавлена в Qt 5.9.

См. также interruptReason().

bool QWebEngineDownloadItem::isFinished() const

Возвращает значение true, если загрузка завершена (завершена, отменена или прервана без возможности возобновления), иначе false.

См. также finished() и state().

bool QWebEngineDownloadItem::isPaused() const

Возвращает значение true, если загрузка приостановлена, иначе false.

См. также pause() и resume().

bool QWebEngineDownloadItem::isSavePageDownload() const

Возвращает true, если это запрос на сохранение веб-страницы.

Эта функция была добавлена в Qt 5.11.

См. также savePageFormat() и setSavePageFormat().

QString QWebEngineDownloadItem::mimeType() const

Возвращает MIME-тип загрузки.

Эта функция была добавлена в Qt 5.6.

QWebEnginePage *QWebEngineDownloadItem::page() const

Возвращает страницу, на которой был запрошен запрос на загрузку. Если загрузка не была вызвана контентом на странице, возвращается nullptr.

Эта функция была добавлена в Qt 5.12.

QString QWebEngineDownloadItem::path() const

Возвращает полный целевой путь, куда загружаются данные.

Путь включает имя файла. Предлагаемый по умолчанию путь — стандартное расположение для загрузок, а имя файла определяется таким образом, чтобы не перезаписывать уже существующие файлы.

См. также setPath().

qint64 QWebEngineDownloadItem::receivedBytes() const

Возвращает количество уже загруженных данных в байтах.

-1 означает, что размер неизвестен.

QWebEngineDownloadItem::SavePageFormat QWebEngineDownloadItem::savePageFormat() const

Возвращает формат, в котором будет сохранена веб-страница, если это запрос на загрузку веб-страницы.

Эта функция была добавлена в Qt 5.7.

См. также setSavePageFormat() и isSavePageDownload().

void QWebEngineDownloadItem::setPath(QString path)

Устанавливает полный целевой путь для сохранения файла.

path также должен включать имя файла. Путь к загружаемому файлу может быть задан только в ответ на сигнал QWebEngineProfile::downloadRequested() перед подтверждением загрузки. После этого эта функция не оказывает никакого влияния на состояние элемента загрузки.

См. также path().

void QWebEngineDownloadItem::setSavePageFormat(QWebEngineDownloadItem::SavePageFormat format)

Устанавливает формат сохранения веб-страницы, если это запрос на загрузку веб-страницы.

Эта функция была добавлена в Qt 5.7.

См. также savePageFormat() и isSavePageDownload().

QWebEngineDownloadItem::DownloadState QWebEngineDownloadItem::state() const

Возвращает текущее состояние элемента загрузки.

См. также DownloadState.

qint64 QWebEngineDownloadItem::totalBytes() const

Возвращает общее количество загружаемых данных в байтах.

-1 означает, что размер неизвестен.

QUrl QWebEngineDownloadItem::url() const

Возвращает исходный URL загрузки.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qwebenginedownloaditem.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API