Тип 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(), запрос на загрузку будет автоматически отклонен, и ничего не будет записано на диск.
Примечание: Некоторые свойства, такие как путь, под которым будет сохранен файл, могут быть изменены только до вызова 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.
interruptReasonString : строка
Возвращает удобочитаемое описание причины прерывания загрузки.
Этот свойство был введён в 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.15/qml-qtwebengine-webenginedownloaditem.html