Spec-Zone.ru › Qt 5.12

Класс QWebEngineDownloadItem

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

Заголовок: #include <QWebEngineDownloadItem>
qmake: QT += webenginewidgets
С тех пор: Qt 5.5
Наследует: QObject
  • Список всех членов, включая наследуемые
  • Устаревшие члены

Общедоступные типы

перечисление DownloadInterruptReason { НетПричин, ОшибкаФайла, ОтказВДоступеКФайлу, НетМестаНаДиске, ..., ОтменаПользователем }
перечисление DownloadState { ЗапросЗагрузки, ЗагрузкаВХoде, ЗагрузкаЗавершена, ЗагрузкаОтменена, ЗагрузкаПрервана }
перечисление SavePageFormat { НеизвестныйФорматСохранения, ФорматСохраненияЕдиногоHtml, ФорматСохраненияПолногоHtml, ФорматСохраненияMimeHtml }

Общедоступные функции

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
  • 31 общедоступная функция, унаследованная от QObject

Открытые слоты

void accept()
void cancel()
void pause()
void resume()
  • 1 открытый слот, унаследованный от QObject

Сигналы

void downloadProgress(qint64 bytesReceived, qint64 bytesTotal)
void finished()
void isPausedChanged(bool isPaused)
void stateChanged(QWebEngineDownloadItem::DownloadState state)
  • 2 сигнала, унаследованные от QObject

Статические общедоступные члены

const QMetaObject staticMetaObject
  • 9 статических общедоступных членов, унаследованных от QObject

Дополнительные наследуемые члены

  • 1 свойство, унаследованное от QObject
  • 9 защищенных функций, унаследованных от QObject

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

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

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().

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, если загрузка завершена (завершена, отменена или прервана и невозобновляема).

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

bool QWebEngineDownloadItem::isPaused() const

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

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

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

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

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

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

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().

[slot] void QWebEngineDownloadItem::pause()

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

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

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

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

qint64 QWebEngineDownloadItem::receivedBytes() const

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

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

[slot] void QWebEngineDownloadItem::resume()

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

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

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

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

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.

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

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

См. также state() и 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.12/qwebenginedownloaditem.html

Spec-Zone.ru

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