Класс QWebEngineDownloadItem
Класс QWebEngineDownloadItem предоставляет информацию о загрузке. Подробнее...
| Заголовок: | #include <QWebEngineDownloadItem> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.5 |
| Наследуется от: | QObject |
Открытые типы
| перечисление | DownloadInterruptReason { НетПричин, НеУдалосьСоздатьФайл, ДоступКФайлуЗапрещен, НеХватаетМестаНаДиске, ..., ПользовательОтменил } |
| перечисление | DownloadState { ЗагрузкаЗапрошена, ЗагрузкаВПроцессе, ЗагрузкаЗавершена, ЗагрузкаОтменена, ЗагрузкаПрервана } |
| перечисление | 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 |
| 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 |
- 34 открытых функции унаследованные от 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
Дополнительные унаследованные члены
- 1 свойство унаследованное от QObject
- 1 открытая переменная унаследованная от QObject
- 10 статические открытые члены унаследованные от QObject
- 9 защищенные функции унаследованные от QObject
- 2 защищенные переменные унаследованные от QObject
Подробное описание
Класс QWebEngineDownloadItem предоставляет информацию о загрузке.
QWebEngineDownloadItem моделирует загрузку на протяжении всего её жизненного цикла, начиная с ожидающего запроса на загрузку и заканчивая завершённой загрузкой. Его можно использовать, например, для получения информации о новых загрузках, для мониторинга прогресса и для приостановки, возобновления и отмены загрузок.
Загрузки обычно вызываются взаимодействием пользователя на веб-странице. QWebEngineProfile отвечает за уведомление приложения о новых запросах на загрузку, что происходит путём выдачи сигнала downloadRequested вместе с недавно созданным QWebEngineDownloadItem. Затем приложение может изучить этот элемент и решить, принять его или нет. Обработчик сигнала должен явно вызвать accept() для элемента, чтобы Qt WebEngine фактически начал загрузку и запись данных на диск. Если ни один обработчик сигнала не вызывает accept(), запрос на загрузку будет автоматически отклонен, и ничего не будет записано на диск.
Примечание: Некоторые свойства, например, path, в котором будет сохранён файл, могут быть изменены только до вызова accept().
Жизненный цикл объекта
Все элементы гарантируются как действующие во время выдачи сигнала downloadRequested. Если accept() не вызывается каким-либо обработчиком сигнала, элемент будет удалён немедленно после выдачи сигнала. Это означает, что приложение не должно хранить ссылки на отклоненные элементы загрузки. Это также означает, что приложение не должно использовать очереди для обработки этого сигнала.
Если accept() вызывается обработчиком сигнала, QWebEngineProfile возьмёт на себя владение элементом. Однако приложение может безопасно удалить элемент в любое время, кроме обработки сигнала downloadRequested. Так как QWebEngineProfile является долгоживущим объектом, на самом деле рекомендуется, чтобы приложение удаляло любые элементы, которые ему больше не нужны.
Примечание: Удаление элемента не отменяет возможную текущую загрузку. Если это необходимо, cancel() должен быть вызван отдельно.
Загрузки веб-страниц
В дополнение к обычным загрузкам файлов, которые просто извлекают некоторые сырые байты из сети и записывают их на диск, 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
Возвращает, приостановлен ли этот загрузчик.
[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.
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/archives/qt-5.11/qwebenginedownloaditem.html