Тип QML WebEngineDownloadItem
Предоставляет информацию о загрузке. Подробнее...
| Заявление об импорте: | import QtWebEngine 1.10 |
| С момента: | QtWebEngine 1.1 |
Свойства
- downloadDirectory : строка
- downloadFileName : строка
- id : целое
- interruptReason : перечисление
- interruptReasonString : строка
- isFinished : логическое
- isPaused : логическое
- isSavePageDownload : логическое
- mimeType : строка
- receivedBytes : целое
- savePageFormat : перечисление
- state : перечисление
- suggestedFileName : строка
- totalBytes : целое
- url : url
- view : WebEngineView
Методы
Подробное описание
WebEngineDownloadItem моделирует загрузку на протяжении всего её жизненного цикла, начиная с запроса на загрузку и заканчивая завершенной загрузкой. Его можно использовать, например, для получения информации о новых загрузках, для мониторинга прогресса и для приостановки, возобновления и отмены загрузок.
Загрузки обычно вызываются взаимодействием пользователя на веб-странице. Ответственность WebEngineProfile заключается в уведомлении приложения о новых запросах на загрузку, что происходит путём выдачи сигнала downloadRequested вместе с новым созданным WebEngineDownloadItem. Приложение может затем изучить этот элемент и решить, принять его или нет. Обработчик сигнала должен явно вызвать accept() для элемента, чтобы Qt WebEngine фактически начал загрузку и запись данных на диск. Если ни один обработчик сигнала не вызывает accept(), то запрос на загрузку будет автоматически отклонен, и ничего не будет записано на диск.
Примечание: Некоторые свойства, такие как path, в который будет сохранён файл, могут быть изменены только до вызова accept().
Жизненный цикл объекта
Гарантируется, что все элементы будут валидны во время выдачи сигнала downloadRequested. Если accept() не вызывается каким-либо обработчиком сигнала, то элемент будет удалён немедленно после выдачи сигнала. Это означает, что приложение не должно сохранять ссылки на отклоненные элементы загрузки.
Загрузки веб-страниц
В дополнение к обычным загрузкам файлов, которые просто представляют собой получение некоторых сырых байтов из сети и запись их на диск, Qt WebEngine также поддерживает сохранение полных веб-страниц, что включает в себя разбор HTML страницы, загрузку всех зависимых ресурсов и, возможно, объединение всего в специальный формат файла (savePageFormat). Чтобы проверить, является ли загрузка файлом или веб-страницей, используйте isSavePageDownload.
См. также WebEngineProfile, WebEngineProfile::downloadRequested и WebEngineProfile::downloadFinished.
Документация по свойствам
downloadDirectory : строка
Содержит полный целевой путь без имени файла, куда данные загружаются.
Директорию загрузки можно установить только в обработчике downloadRequested до принятия загрузки.
Это свойство было добавлено в QtWebEngine 1.10.
См. также WebEngineProfile::downloadRequested() и accept().
downloadFileName : строка
Содержит имя файла, в который загружаются данные.
Имя файла загрузки можно установить только в обработчике downloadRequested до принятия загрузки.
Это свойство было добавлено в QtWebEngine 1.10.
См. также WebEngineProfile::downloadRequested() и accept().
id : целое
Содержит идентификатор элемента загрузки.
[только для чтения] interruptReason : перечисление
Возвращает причину прерывания загрузки:
| Постоянная | Описание |
|---|---|
WebEngineDownloadItem.NoReason |
Неизвестная причина или не прервано. |
WebEngineDownloadItem.FileFailed |
Ошибка общей работы с файлами. |
WebEngineDownloadItem.FileAccessDenied |
Файл не может быть записан локально из-за ограничений доступа. |
WebEngineDownloadItem.FileNoSpace |
Недостаточно места на целевом диске. |
WebEngineDownloadItem.FileNameTooLong |
Имя каталога или файла слишком длинное. |
WebEngineDownloadItem.FileTooLarge |
Размер файла превышает ограничение файловой системы. |
WebEngineDownloadItem.FileVirusInfected |
Файл заражён вирусом. |
WebEngineDownloadItem.FileTransientError |
Временная проблема (например, файл используется, недостаточно памяти или одновременно открыто слишком много файлов). |
WebEngineDownloadItem.FileBlocked |
Файл заблокирован из-за локальной политики. |
WebEngineDownloadItem.FileSecurityCheckFailed |
Попытка проверки безопасности загрузки не удалась из-за непредвиденных причин. |
WebEngineDownloadItem.FileTooShort |
Была предпринята попытка перейти за конец файла при открытии файла (в качестве части возобновления ранее прерванной загрузки). |
WebEngineDownloadItem.FileHashMismatch |
Частичный файл не соответствовал ожидаемой хеш-сумме. |
WebEngineDownloadItem.NetworkFailed |
Общая ошибка сети. |
WebEngineDownloadItem.NetworkTimeout |
Сеансу сетевой операции истекло время ожидания. |
WebEngineDownloadItem.NetworkDisconnected |
Сетевое соединение было прервано. |
WebEngineDownloadItem.NetworkServerDown |
Сервер вышел из строя. |
WebEngineDownloadItem.NetworkInvalidRequest |
Запрос в сеть был некорректен (например, исходный или перенаправленный URL некорректен, имеет неподдерживаемый схему или запрещён политикой). |
WebEngineDownloadItem.ServerFailed |
Ошибка общей работы с сервером. |
WebEngineDownloadItem.ServerBadContent |
Сервер не имеет запрошенных данных. |
WebEngineDownloadItem.ServerUnauthorized |
Сервер не авторизовал доступ к ресурсу. |
WebEngineDownloadItem.ServerCertProblem |
Возникла проблема с сертификатом сервера. |
WebEngineDownloadItem.ServerForbidden |
Доступ запрещён сервером. |
WebEngineDownloadItem.ServerUnreachable |
Непредвиденный ответ сервера (может указывать на то, что отвечающий сервер не является предполагаемым сервером). |
WebEngineDownloadItem.UserCanceled |
Пользователь отменил загрузку. |
Это свойство было добавлено в QtWebEngine 1.5.
См. также interruptReasonString.
END_OF_DOCUMENT_MARKERinterruptReasonString : строка
Возвращает удобочитаемое описание причины прерывания загрузки.
Этот свойство был введён в QtWebEngine 1.5.
См. также interruptReason.
[только для чтения] isFinished : логическое
Завершена ли эта загрузка (завершена, отменена или прервана без возможности возобновления).
Этот свойство был введён в QtWebEngine 1.6.
[только для чтения] isPaused : логическое
Приостановлена ли эта загрузка?
Этот свойство был введён в QtWebEngine 1.6.
[только для чтения] isSavePageDownload : логическое
Является ли это запросом на загрузку веб-страницы или файла.
Этот свойство был введён в QtWebEngine 1.7.
См. также savePageFormat.
mimeType : строка
Содержит тип MIME загрузки.
Этот свойство был введён в QtWebEngine 1.2.
receivedBytes : целое
Содержит количество данных в байтах, загруженных до настоящего момента.
savePageFormat : перечисление
Описывает формат, используемый для сохранения веб-страницы.
| Постоянная | Описание |
|---|---|
WebEngineDownloadItem.UnknownSaveFormat |
Это не запрос на загрузку полной веб-страницы. |
WebEngineDownloadItem.SingleHtmlSaveFormat |
Страница сохраняется как отдельная страница HTML. Ресурсы, такие как изображения, не сохраняются. |
WebEngineDownloadItem.CompleteHtmlSaveFormat |
Страница сохраняется как полная страница HTML, например, каталог, содержащий единственную страницу HTML и ресурсы. |
WebEngineDownloadItem.MimeHtmlSaveFormat |
Страница сохраняется как полная веб-страница в формате MIME HTML. |
Этот свойство был введён в QtWebEngine 1.3.
state : перечисление
Описывает состояние загрузки:
| Постоянная | Описание |
|---|---|
WebEngineDownloadItem.DownloadRequested |
Запрос на загрузку был отправлен, но он еще не принят. |
WebEngineDownloadItem.DownloadInProgress |
Загрузка выполняется. |
WebEngineDownloadItem.DownloadCompleted |
Загрузка успешно завершена. |
WebEngineDownloadItem.DownloadCancelled |
Загрузка была отменена пользователем. |
WebEngineDownloadItem.DownloadInterrupted |
Загрузка прервана (сервером или из-за потери подключения). |
suggestedFileName : строка
Возвращает предложенное имя файла.
Этот свойство был введён в QtWebEngine 1.10.
totalBytes : целое
Содержит общее количество данных для загрузки в байтах.
-1 означает, что общий размер неизвестен.
[только для чтения] url : url
Возвращает исходный URL загрузки.
Этот свойство был введён в QtWebEngine 1.10.
[только для чтения] view : WebEngineView
Возвращает представление, на котором был запрошен загрузка. Если загрузка не была инициирована содержимым в представлении, nullptr возвращается.
Этот свойство был введён в QtWebEngine 1.8.
См. также WebEngineView.
Методы
void accept()
Принимает запрос на загрузку, что запустит загрузку.
Если элемент находится в состоянии DownloadRequested, он перейдёт в состояние DownloadInProgress и начнется загрузка. Если элемент находится в любом другом состоянии, ничего не произойдёт.
См. также state.
void cancel()
Отменяет загрузку.
Если элемент находится в состоянии DownloadInProgress, он перейдет в состояние DownloadCancelled, загрузка остановится, а частично загруженные файлы будут удалены с диска.
Если элемент находится в состоянии DownloadCompleted, ничего не произойдёт. Если элемент находится в любом другом состоянии, он перейдёт в состояние DownloadCancelled без дальнейших последствий.
См. также state.
void pause()
Приостанавливает загрузку.
Не имеет эффекта, если состояние не DownloadInProgress. Состояние не изменяется.
Этот метод был введён в QtWebEngine 1.6.
void resume()
Возобновляет загрузку, если она была приостановлена или прервана.
Не имеет эффекта, если состояние не DownloadInProgress или DownloadInterrupted. Состояние не изменяется.
Этот метод был введён в QtWebEngine 1.6.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtwebengine-webenginedownloaditem.html