Spec-Zone.ru › Qt 5.15

Класс QWebEngineDownloadItem

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

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

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

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

Типы Public

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

Public Функции

QString downloadDirectory() const
QString downloadFileName() const
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
qint64 receivedBytes() const
QWebEngineDownloadItem::SavePageFormat savePageFormat() const
void setDownloadDirectory(const QString &directory)
void setDownloadFileName(const QString &fileName)
void setSavePageFormat(QWebEngineDownloadItem::SavePageFormat format)
QWebEngineDownloadItem::DownloadState state() const
QString suggestedFileName() const
qint64 totalBytes() const
QUrl url() const

Public Слоты

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

Примечание: Некоторые свойства, такие как установка пути и имени файла, где будет сохранён файл (см. downloadDirectory() и downloadFileName()), могут быть изменены только до вызова 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.

QString QWebEngineDownloadItem::downloadDirectory() const

Возвращает путь к каталогу загрузки.

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

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

QString QWebEngineDownloadItem::downloadFileName() const

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

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

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

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

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.

qint64 QWebEngineDownloadItem::receivedBytes() const

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

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

QWebEngineDownloadItem::SavePageFormat QWebEngineDownloadItem::savePageFormat() const

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

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

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

void QWebEngineDownloadItem::setDownloadDirectory(const QString &directory)

Устанавливает directory в качестве пути к каталогу для загрузки файла.

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

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

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

void QWebEngineDownloadItem::setDownloadFileName(const QString &fileName)

Устанавливает fileName в качестве имени файла для загрузки файла.

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

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

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

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

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

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

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

QWebEngineDownloadItem::DownloadState QWebEngineDownloadItem::state() const

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

См. также DownloadState.

QString QWebEngineDownloadItem::suggestedFileName() const

Возвращает предложенное имя файла.

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

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.15/qwebenginedownloaditem.html

Spec-Zone.ru

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