Spec-Zone.ru › Qt

Класс QWebEnginePage

Класс QWebEnginePage предоставляет объект для просмотра и редактирования веб-документов. Подробнее...

Заголовок: #include <QWebEnginePage>
CMake: find_package(Qt6 COMPONENTS WebEngineCore REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore
С момента: Qt 5.4
Наследует: QObject
  • Список всех членов, включая унаследованные

Публичные типы

Перечисление Feature { Уведомления, Геолокация, Запись аудио, Запись видео, Запись аудио и видео, …, Запись аудио с рабочего стола }
Перечисление FileSelectionMode { Открытие файла, Открытие нескольких файлов, Открытие папки для загрузки }
Перечисление FindFlag { Назад, С учетом регистра }
Флаги FindFlags
Перечисление JavaScriptConsoleMessageLevel { Уровень информационных сообщений, Уровень предупреждений, Уровень ошибок }
Перечисление LifecycleState { Активный, Замороженный, Утилизированный }
Перечисление NavigationType { Переход по ссылке, Ввод адреса, Отправка формы, Назад/вперед, Перезагрузка, …, Другой }
Перечисление PermissionPolicy { Неизвестная, Разрешена пользователем, Запрещена пользователем }
Перечисление RenderProcessTerminationStatus { Нормальное завершение, Аномальное завершение, Аварийное завершение, Завершение по сигналу }
Перечисление WebAction { Нет действия, Назад, Вперед, Остановить, Перезагрузить, …, Вставка неупорядоченного списка }
Перечисление WebWindowType { Окно браузера, Вкладка браузера, Диалоговое окно, Фоновая вкладка браузера }

Свойства

  • audioMuted : bool
  • backgroundColor : QColor
  • contentsSize : const QSizeF
  • hasSelection : const bool
  • icon : const QIcon
  • iconUrl : const QUrl
  • lifecycleState : LifecycleState
  • loading : const bool
  • recentlyAudible : const bool
  • recommendedState : const LifecycleState
  • renderProcessPid : const qint64
  • requestedUrl : const QUrl
  • scrollPosition : const QPointF
  • selectedText : const QString
  • title : const QString
  • url : QUrl
  • visible : bool
  • zoomFactor : qreal

Публичные функции

QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr)
QWebEnginePage(QObject *parent = nullptr)
virtual ~QWebEnginePage()
QAction * action(QWebEnginePage::WebAction action) const
QColor backgroundColor() const
QSizeF contentsSize() const
QWebEnginePage * devToolsPage() const
void download(const QUrl &url, const QString &filename = QString())
void findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = ...)
bool hasSelection() const
QWebEngineHistory * history() const
QIcon icon() const
QUrl iconUrl() const
QWebEnginePage * inspectedPage() const
bool isAudioMuted() const
bool isLoading() const
bool isVisible() const
QWebEnginePage::LifecycleState lifecycleState() const
void load(const QUrl &url)
void load(const QWebEngineHttpRequest &request)
void printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
void printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})
QWebEngineProfile * profile() const
bool recentlyAudible() const
QWebEnginePage::LifecycleState recommendedState() const
qint64 renderProcessPid() const
void replaceMisspelledWord(const QString &replacement)
QUrl requestedUrl() const
void runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback)
void runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {})
void save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const
QWebEngineScriptCollection & scripts()
QPointF scrollPosition() const
QString selectedText() const
void setAudioMuted(bool muted)
void setBackgroundColor(const QColor &color)
void setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
void setDevToolsPage(QWebEnginePage *devToolsPage)
void setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy)
void setHtml(const QString &html, const QUrl &baseUrl = QUrl())
void setInspectedPage(QWebEnginePage *page)
void setLifecycleState(QWebEnginePage::LifecycleState state)
void setUrl(const QUrl &url)
void setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
void setVisible(bool visible)
void setWebChannel(QWebChannel *channel, quint32 worldId = 0)
void setZoomFactor(qreal factor)
QWebEngineSettings * settings() const
QString title() const
void toHtml(const std::function<void (const QString &)> &resultCallback) const
void toPlainText(const std::function<void (const QString &)> &resultCallback) const
virtual void triggerAction(QWebEnginePage::WebAction action, bool checked = false)
QUrl url() const
QWebChannel * webChannel() const
qreal zoomFactor() const

Реализованные публичные функции

virtual bool event(QEvent *e) override

Сигналы

void audioMutedChanged(bool muted)
void authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)
void certificateError(const QWebEngineCertificateError &certificateError)
void contentsSizeChanged(const QSizeF &size)
void featurePermissionRequestCanceled(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
void featurePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
void findTextFinished(const QWebEngineFindTextResult &result)
void fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)
void geometryChangeRequested(const QRect &geom)
void iconChanged(const QIcon &icon)
void iconUrlChanged(const QUrl &url)
void lifecycleStateChanged(QWebEnginePage::LifecycleState state)
void linkHovered(const QString &url)
void loadFinished(bool ok)
void loadProgress(int progress)
void loadStarted()
void loadingChanged(const QWebEngineLoadingInfo &loadingInfo)
void navigationRequested(QWebEngineNavigationRequest &request)
void newWindowRequested(QWebEngineNewWindowRequest &request)
void pdfPrintingFinished(const QString &filePath, bool success)
void proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)
void quotaRequested(QWebEngineQuotaRequest quotaRequest)
void recentlyAudibleChanged(bool recentlyAudible)
void recommendedStateChanged(QWebEnginePage::LifecycleState state)
void registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
void renderProcessPidChanged(qint64 pid)
void renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
void scrollPositionChanged(const QPointF &position)
void selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)
void selectionChanged()
void titleChanged(const QString &title)
void urlChanged(const QUrl &url)
void visibleChanged(bool visible)
void windowCloseRequested()

Защищённые функции

virtual bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
virtual QStringList chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)
virtual QWebEnginePage * createWindow(QWebEnginePage::WebWindowType type)
virtual void javaScriptAlert(const QUrl &securityOrigin, const QString &msg)
virtual bool javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)
virtual void javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)
virtual bool javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)

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

Страница веб-движка содержит содержимое HTML-документа, историю посещённых ссылок и действия.

API QWebEnginePage очень похож на API QWebEngineView, так как вы по-прежнему получаете доступ к общим функциям, таким как action() (известная как pageAction() в QWebEngineView), triggerAction() и findText().

Загрузка страницы может быть выполнена с помощью load() или setUrl(). В качестве альтернативы, если содержимое HTML доступно, вы можете использовать setHtml(). Метод GET всегда используется для загрузки URL-адресов.

Класс QWebEnginePage также предоставляет методы для получения текущего URL-адреса, загруженного страницей (см. url()), а также URL-адреса, первоначально запрошенного для загрузки (см. requestedUrl()). Эти методы позволяют получить URL-адрес до и после разрешения DNS или перенаправления во время процесса загрузки. requestedUrl() также соответствует URL-адресу, добавленному в историю страниц (QWebEngineHistory), если загрузка выполнена успешно.

Заголовок HTML-страницы можно получить с помощью свойства title(). Кроме того, страница может также указывать значок, который можно получить, используя свойство icon() или его URL-адрес с помощью свойства iconUrl(). Если заголовок или значок изменяются, будут выпущены соответствующие сигналы titleChanged(), iconChanged() и iconUrlChanged(). Свойство zoomFactor() позволяет изменять масштаб отображения содержимого веб-страницы.

Сигнал loadStarted() генерируется, когда страница начинает загружаться, а сигнал loadProgress() генерируется всякий раз, когда элемент веб-страницы завершает загрузку, например, встроенное изображение или скрипт. Сигнал loadFinished() генерируется, когда содержимое страницы загружено полностью, независимо от выполнения скриптов или отображения страницы. Его аргумент, либо true или false, указывает, была ли операция загрузки успешной.

HTML-документ загружается в основной фрейм внутри веб-страницы. Если он ссылается на вложенные фреймы (как определено элементами <frame> или <iframe>), они считаются частью содержимого. Доступ к вложенным фреймам по отдельности возможен только через JavaScript.

Веб-сайты определяют безопасный источник для безопасного доступа друг к другу к ресурсам для клиентской стороны сценариев или баз данных. Источник состоит из имени хоста, схемы и номера порта. Например, сайты http://www.example.com/my/page.html и http://www.example.com/my/overview.html разрешено совместно использовать одну базу данных или получать доступ к документам друг друга при использовании в HTML-фреймсетах и JavaScript. В то же время http://www.malicious.com/evil.html запрещено получать доступ к ресурсам http://www.example.com/, потому что у них разный источник безопасности. По умолчанию локальные схемы, такие как file:// и qrc://, считаются одинаковыми по безопасности и могут получать доступ к ресурсам друг друга. Локальные ресурсы по умолчанию запрещены от доступа к удаленному содержимому, что означает, что file:// не сможет получить доступ к http://domain.com/foo.html.

Скрипты могут выполняться на веб-странице с помощью runJavaScript(), либо в основном JavaScript мире вместе с остальным JavaScript, поступающим из содержимого веб-страницы, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. QWebEngineScript::ScriptWorldId предоставляет некоторые предопределенные идентификаторы для этой цели. Использование runJavaScript() версии без идентификатора мира равносильно запуску скрипта в MainWorld.

Настройка FocusOnNavigationEnabled может быть использована для автоматического получения фокуса связанным с страницей представлением при выполнении операции навигации (например, при загрузке или перезагрузке страницы или навигации по истории).

Документация типов членов

Перечисление QWebEnginePage::Feature

Это перечисление описывает категории доступа к функциям платформы, доступ к которым пользователь может быть попрошен предоставить или запретить:

Постоянная Значение Описание
QWebEnginePage::Notifications 0 Веб-уведомления для конечного пользователя.
QWebEnginePage::Geolocation 1 Местоположение аппаратного или программного обеспечения.
QWebEnginePage::MediaAudioCapture 2 Устройства захвата аудио, такие как микрофоны.
QWebEnginePage::MediaVideoCapture 3 Видеоустройства, такие как камеры.
QWebEnginePage::MediaAudioVideoCapture 4 Устройства захвата как аудио, так и видео.
QWebEnginePage::MouseLock 5 Блокировка мыши, которая блокирует указатель мыши в веб-представлении и обычно используется в играх.
QWebEnginePage::DesktopVideoCapture 6 Захват видеовывода, то есть захват экрана пользователя, например, для совместного использования экрана. (Добавлен в Qt 5.10)
QWebEnginePage::DesktopAudioVideoCapture 7 Захват как аудио, так и видеовывода. (Добавлен в Qt 5.10)

См. также featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission() и PermissionPolicy.

Перечисление QWebEnginePage::FileSelectionMode

Это перечисление указывает, должна ли реализация функции chooseFiles() возвращать только один файл или может возвращать несколько файлов:

Постоянная Значение Описание
QWebEnginePage::FileSelectOpen 0 Возвращает только имя одного файла.
QWebEnginePage::FileSelectOpenMultiple 1 Возвращает имена нескольких файлов.
QWebEnginePage::FileSelectUploadFolder 2 Разрешает пользователю указать одну существующую папку для загрузки.

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

Перечисление QWebEnginePage::FindFlagФлаги QWebEnginePage::FindFlags

Это перечисление описывает доступные параметры функции findText(). Параметры могут быть объединены по оператору OR из следующего списка:

Постоянная Значение Описание
QWebEnginePage::FindBackward 1 Поиск выполняется в обратном направлении вместо прямого.
QWebEnginePage::FindCaseSensitively 2 По умолчанию findText() выполняется без учета регистра. Указание этого параметра изменяет поведение на поиск, учитывающий регистр.

Тип FindFlags — это псевдоним для QFlags<FindFlag>. Он хранит комбинированное значение FindFlag по оператору OR.

Перечисление QWebEnginePage::JavaScriptConsoleMessageLevel

Это перечисление описывает разные уровни серьезности сообщения консоли JavaScript:

Постоянная Значение Описание
QWebEnginePage::InfoMessageLevel 0 Сообщение носит чисто информативный характер и может быть безопасно проигнорировано.
QWebEnginePage::WarningMessageLevel 1 Сообщение информирует о непредсказуемом поведении или ошибках, которые могут потребовать внимания.
QWebEnginePage::ErrorMessageLevel 2 Сообщение указывает на возникновение ошибки.

[since 5.14] Перечисление QWebEnginePage::LifecycleState

Это перечисление описывает состояние жизненного цикла страницы:

Постоянная Значение Описание
QWebEnginePage::LifecycleState::Active 0 Нормальное состояние.
QWebEnginePage::LifecycleState::Frozen 1 Состояние низкого использования процессора, где большинство источников задач HTML приостановлены.
QWebEnginePage::LifecycleState::Discarded 2 Состояние очень низкого использования ресурсов, где весь контекст просмотра отбрасывается.

Это перечисление было введено или изменено в Qt 5.14.

См. также lifecycleState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.

Перечисление QWebEnginePage::NavigationType

Это перечисление описывает тип запроса навигации:

Константа Значение Описание
QWebEnginePage::NavigationTypeLinkClicked 0 Запрос на навигацию произошел из-за нажатия на ссылку.
QWebEnginePage::NavigationTypeTyped 1 Запрос на навигацию произошел из-за явно загруженного URL.
QWebEnginePage::NavigationTypeFormSubmitted 2 Запрос на навигацию произошел из-за отправки формы.
QWebEnginePage::NavigationTypeBackForward 3 Запрос на навигацию произошел из-за действия «Назад» или «Вперед».
QWebEnginePage::NavigationTypeReload 4 Запрос на навигацию произошел из-за действия «Обновить».
QWebEnginePage::NavigationTypeRedirect 6 Запрос на навигацию произошел из-за перенаправления, контролируемого контентом или сервером. Это также включает автоматические обновления. (Добавлена в Qt 5.14)
QWebEnginePage::NavigationTypeOther 5 Запрос на навигацию был инициирован другими способами, не охваченными выше.

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

enum QWebEnginePage::PermissionPolicy

Этот перечисление описывает политики разрешений, которые пользователь может установить для доступа к данным или устройствам:

Константа Значение Описание
QWebEnginePage::PermissionUnknown 0 Неизвестно, предоставит ли пользователь разрешение или откажет.
QWebEnginePage::PermissionGrantedByUser 1 Пользователь предоставил разрешение.
QWebEnginePage::PermissionDeniedByUser 2 Пользователь отказал в разрешении.

См. также featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), и Feature.

[since 5.6] enum QWebEnginePage::RenderProcessTerminationStatus

Это перечисление описывает состояние, в котором завершился процесс рендеринга:

Константа Значение Описание
QWebEnginePage::NormalTerminationStatus 0 Процесс рендеринга завершился нормально.
QWebEnginePage::AbnormalTerminationStatus 1 Процесс рендеринга завершился с ненулевым выходным кодом.
QWebEnginePage::CrashedTerminationStatus 2 Процесс рендеринга аварийно завершился, например, из-за ошибки сегментации.
QWebEnginePage::KilledTerminationStatus 3 Процесс рендеринга был завершён принудительно, например, с помощью SIGKILL или диспетчера задач.

Это перечисление было введено или изменено в Qt 5.6.

enum QWebEnginePage::WebAction

Это перечисление описывает типы действий, которые могут быть выполнены над веб-страницей.

Действия имеют эффект только при их применимости.

Доступность действий можно определить, проверив isEnabled() на действии, возвращённом action().

Постоянная Значение Описание
QWebEnginePage::NoWebAction - 1 Действие не выполняется.
QWebEnginePage::Back 0 Переход назад в истории переходов по ссылкам.
QWebEnginePage::Forward 1 Переход вперёд в истории переходов по ссылкам.
QWebEnginePage::Stop 2 Остановка загрузки текущей страницы.
QWebEnginePage::Reload 3 Перезагрузка текущей страницы.
QWebEnginePage::ReloadAndBypassCache 10 Перезагрузка текущей страницы без использования кэша.
QWebEnginePage::Cut 4 Вырезание выделенного контента в буфер обмена.
QWebEnginePage::Copy 5 Копирование выделенного контента в буфер обмена.
QWebEnginePage::Paste 6 Вставка контента из буфера обмена.
QWebEnginePage::Undo 7 Отмена последнего действия редактирования.
QWebEnginePage::Redo 8 Повтор последнего действия редактирования.
QWebEnginePage::SelectAll 9 Выбор всего контента. Это действие доступно только при фокусе на контенте страницы. Фокус можно принудительно установить с помощью вызова JavaScript window.focus(), или необходимо включить настройку FocusOnNavigationEnabled для автоматического получения фокуса.
QWebEnginePage::PasteAndMatchStyle 11 Вставка контента из буфера обмена с сохранением текущего стиля.
QWebEnginePage::OpenLinkInThisWindow 12 Открытие текущей ссылки в текущем окне. (Добавлено в Qt 5.6)
QWebEnginePage::OpenLinkInNewWindow 13 Открытие текущей ссылки в новом окне. Требует реализации createWindow() или newWindowRequested() (Добавлено в Qt 5.6)
QWebEnginePage::OpenLinkInNewTab 14 Открытие текущей ссылки в новой вкладке. Требует реализации createWindow() или newWindowRequested(). (Добавлено в Qt 5.6)
QWebEnginePage::OpenLinkInNewBackgroundTab 31 Открытие текущей ссылки в новой фоновой вкладке. Требует реализации createWindow() или newWindowRequested(). (Добавлено в Qt 5.7)
QWebEnginePage::CopyLinkToClipboard 15 Копирование текущей ссылки в буфер обмена. (Добавлено в Qt 5.6)
QWebEnginePage::CopyImageToClipboard 17 Копирование нажатого изображения в буфер обмена. (Добавлено в Qt 5.6)
QWebEnginePage::CopyImageUrlToClipboard 18 Копирование URL нажатого изображения в буфер обмена. (Добавлено в Qt 5.6)
QWebEnginePage::CopyMediaUrlToClipboard 20 Копирование URL наведённого курсором аудио или видео в буфер обмена. (Добавлено в Qt 5.6)
QWebEnginePage::ToggleMediaControls 21 Переключение видимости элементов управления наведённым курсором аудио или видео. (Добавлено в Qt 5.6)
QWebEnginePage::ToggleMediaLoop 22 Переключение циклической воспроизведения наведённого курсором аудио или видео. (Добавлено в Qt 5.6)
QWebEnginePage::ToggleMediaPlayPause 23 Переключение воспроизведения/паузы наведённого курсором аудио или видео. (Добавлено в Qt 5.6)
QWebEnginePage::ToggleMediaMute 24 Выключение/включение звука наведённого курсором аудио или видео. (Добавлено в Qt 5.6)
QWebEnginePage::DownloadLinkToDisk 16 Загрузка текущей ссылки на диск. Требуется слот для downloadRequested(). (Добавлено в Qt 5.6)
QWebEnginePage::DownloadImageToDisk 19 Загрузка выделенного изображения на диск. Требуется слот для downloadRequested(). (Добавлено в Qt 5.6)
QWebEnginePage::DownloadMediaToDisk 25 Загрузка наведённого курсором аудио или видео на диск. Требуется слот для downloadRequested(). (Добавлено в Qt 5.6)
QWebEnginePage::InspectElement 26 Запуск прикреплённого Web Inspector для проверки выделенного элемента. (Добавлено в Qt 5.6)
QWebEnginePage::ExitFullScreen 27 Выход из полноэкранного режима. (Добавлено в Qt 5.6)
QWebEnginePage::RequestClose 28 Запрос на закрытие веб-страницы. Если определён, выполняется обработчик window.onbeforeunload, и пользователь может подтвердить или отклонить закрытие страницы. Если запрос на закрытие подтверждён, испускается windowCloseRequested. (Добавлено в Qt 5.6)
QWebEnginePage::Unselect 29 Очистка текущего выделения. (Добавлено в Qt 5.7)
QWebEnginePage::SavePage 30 Сохранение текущей страницы на диск. По умолчанию используется формат MHTML для сохранения веб-страницы на диск. Требуется слот для downloadRequested(). (Добавлено в Qt 5.7)
QWebEnginePage::ViewSource 32 Отображение исходного кода текущей страницы в новой вкладке. Требует реализации createWindow() или newWindowRequested(). (Добавлено в Qt 5.8)
QWebEnginePage::ToggleBold 33 Переключает полужирность выделенного текста или текста в позиции курсора. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::ToggleItalic 34 Переключает курсив выделенного текста или текста в позиции курсора. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::ToggleUnderline 35 Переключает подчеркивание выделенного текста или текста в позиции курсора. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::ToggleStrikethrough 36 Переключает зачёркивание выделенного текста или текста в позиции курсора. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::AlignLeft 37 Выравнивает строки, содержащие выделенный текст или курсор, по левому краю. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::AlignCenter 38 Выравнивает строки, содержащие выделенный текст или курсор, по центру. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::AlignRight 39 Выравнивает строки, содержащие выделенный текст или курсор, по правому краю. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::AlignJustified 40 Растягивает строки, содержащие выделенный текст или курсор, так, чтобы каждая строка имела одинаковую ширину. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::Indent 41 Отступы строк, содержащих выделенный текст или курсор. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::Outdent 42 Уменьшает отступы строк, содержащих выделенный текст или курсор. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::InsertOrderedList 43 Вставляет упорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлено в Qt 5.10)
QWebEnginePage::InsertUnorderedList 44 Вставляет неупорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлено в Qt 5.10)

enum QWebEnginePage::WebWindowType

Этот перечисление описывает типы окон, которые могут быть созданы функцией createWindow():

Константа Значение Описание
QWebEnginePage::WebBrowserWindow 0 Полное окно веб-браузера.
QWebEnginePage::WebBrowserTab 1 Вкладка веб-браузера.
QWebEnginePage::WebDialog 2 Окно без оформления.
QWebEnginePage::WebBrowserBackgroundTab 3 Вкладка веб-браузера без скрытия текущего видимого WebEngineView. (Добавлена в Qt 5.7)

Документация свойств

[since 5.7] audioMuted : bool

Это свойство содержит информацию о том, заглушен ли звук текущей страницы.

Значение по умолчанию — false.

Это свойство было добавлено в Qt 5.7.

Функции доступа:

bool isAudioMuted() const
void setAudioMuted(bool muted)

Сигнал уведомления:

void audioMutedChanged(bool muted)

См. также recentlyAudible.

[since 5.6] backgroundColor : QColor

Это свойство содержит цвет фона страницы за телом документа.

Можно установить цвет фона в Qt::transparent или полупрозрачный цвет, чтобы видеть сквозь документ, или настроить его в соответствии с вашим веб-контентом в гибридном приложении, чтобы предотвратить вспышки белого цвета, которые могут появляться во время загрузки.

Значение по умолчанию — белый.

Это свойство было добавлено в Qt 5.6.

Функции доступа:

QColor backgroundColor() const
void setBackgroundColor(const QColor &color)

[read-only, since 5.7] contentsSize : const QSizeF

Это свойство содержит размер содержимого страницы.

Это свойство было добавлено в Qt 5.7.

Функции доступа:

QSizeF contentsSize() const

Сигнал уведомления:

void contentsSizeChanged(const QSizeF &size)

[read-only] hasSelection : const bool

Это свойство содержит информацию о том, содержит ли эта страница выделенный контент.

Функции доступа:

bool hasSelection() const

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

[read-only, since 5.7] icon : const QIcon

Это свойство содержит значок, связанный с текущей просматриваемой страницей.

По умолчанию это свойство содержит пустой значок. Если значки касания отключены (см. QWebEngineSettings::TouchIconsEnabled), значок favicon предоставляется в двух размерах (16x16 и 32x32 пикселя), упакованных в QIcon. В противном случае предоставляется единственный значок с наибольшим доступным размером.

Это свойство было добавлено в Qt 5.7.

Функции доступа:

QIcon icon() const

Сигнал уведомления:

void iconChanged(const QIcon &icon)

См. также iconChanged(), iconUrl(), iconUrlChanged() и QWebEngineSettings::TouchIconsEnabled.

[read-only] iconUrl : const QUrl

Это свойство содержит URL-адрес значка, связанного с текущей просматриваемой страницей.

По умолчанию это свойство содержит пустой URL-адрес.

Функции доступа:

QUrl iconUrl() const

Сигнал уведомления:

void iconUrlChanged(const QUrl &url)

См. также iconUrlChanged(), icon() и iconChanged().

[since 5.14] lifecycleState : LifecycleState

Это свойство содержит текущее состояние жизненного цикла страницы.

Следующие ограничения накладываются установщиком:

  • Страница, visible, должна оставаться в состоянии Active.
  • Если страница проверяется с помощью devToolsPage, то обе страницы должны оставаться в состояниях Active.
  • Страница в состоянии Discarded может перейти только в состояние Active. Это приведет к перезагрузке страницы.

Это единственные жесткие ограничения на состояние жизненного цикла, но см. также recommendedState для рекомендаций по мягким ограничениям.

Это свойство было добавлено в Qt 5.14.

Функции доступа:

QWebEnginePage::LifecycleState lifecycleState() const
void setLifecycleState(QWebEnginePage::LifecycleState state)

Сигнал уведомления:

void lifecycleStateChanged(QWebEnginePage::LifecycleState state)

См. также recommendedState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.

[read-only, since 6.2] loading : const bool

Это свойство содержит информацию о том, загружается ли страница в данный момент.

Это свойство было добавлено в Qt 6.2.

Функции доступа:

bool isLoading() const

Сигнал уведомления:

void loadingChanged(const QWebEngineLoadingInfo &loadingInfo)

См. также QWebEngineLoadingInfo, loadStarted и loadFinished.

[read-only, since 5.7] recentlyAudible : const bool

Это свойство содержит текущее состояние аудио воспроизведения страницы, то есть, воспроизводился ли звук недавно или нет.

Значение по умолчанию — false.

Это свойство было добавлено в Qt 5.7.

Функции доступа:

bool recentlyAudible() const

Сигнал уведомления:

void recentlyAudibleChanged(bool recentlyAudible)

См. также audioMuted.

[read-only, since 5.14] recommendedState : const LifecycleState

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

Установка состояния жизненного цикла на состояние с меньшим использованием ресурсов, чем рекомендованное состояние, может привести к побочным эффектам, таким как остановка воспроизведения фонового аудио или потеря ввода данных HTML-формы. Однако установка состояния жизненного цикла на более высокое состояние потребления ресурсов абсолютно безопасна.

Это свойство было добавлено в Qt 5.14.

Функции доступа:

QWebEnginePage::LifecycleState recommendedState() const

Сигнал уведомления:

void recommendedStateChanged(QWebEnginePage::LifecycleState state)

См. также lifecycleState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.

[read-only, since 5.15] renderProcessPid : const qint64

Это свойство содержит идентификатор процесса (PID) процесса рендеринга, назначенного главному кадру текущей страницы.

Если процесс рендеринга еще недоступен, возвращается 0.

Это свойство было добавлено в Qt 5.15.

Функции доступа:

qint64 renderProcessPid() const

Сигнал уведомления:

void renderProcessPidChanged(qint64 pid)

[read-only] requestedUrl : const QUrl

Это свойство содержит URL, который изначально был запрошен для загрузки страницы, которая сейчас отображается.

Примечание: URL может отличаться от URL, возвращаемого свойством url(), которое представляет собой фактический URL, полученный после разрешения DNS или перенаправления.

Функции доступа:

QUrl requestedUrl() const

См. также url() и setUrl().

[read-only, since 5.7] scrollPosition : const QPointF

Это свойство содержит положение полосы прокрутки содержимого страницы.

Это свойство было добавлено в Qt 5.7.

Функции доступа:

QPointF scrollPosition() const

Сигнал уведомления:

void scrollPositionChanged(const QPointF &position)

[read-only] selectedText : const QString

Это свойство содержит текст, который в данный момент выделен.

По умолчанию это свойство содержит пустую строку.

Функции доступа:

QString selectedText() const

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

[read-only] title : const QString

Это свойство содержит заголовок страницы, определенный элементом HTML <title>.

Если на странице нет элемента <title>, используется URL. Для file:// URL используется только имя файла, а не полный путь.

По умолчанию, прежде чем загрузится любое содержимое, это свойство содержит пустую строку.

Функции доступа:

QString title() const

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

url : QUrl

Это свойство содержит URL текущей страницы.

Установка этого свойства очищает представление и загружает URL.

По умолчанию это свойство содержит пустой, недопустимый URL.

Функции доступа:

QUrl url() const
void setUrl(const QUrl &url)

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

[since 5.14] visible : bool

Это свойство содержит значение, указывающее, считается ли страница видимой в API для определения видимости страницы.

Установка этого свойства изменяет свойства Document.hidden и Document.visibilityState в JavaScript, которые веб-сайты могут использовать для произвольного снижения использования ресурсов, если они не видны пользователю.

Если страница подключена к представлению, это свойство будет автоматически управляться представлением в соответствии с его видимостью.

Это свойство было добавлено в Qt 5.14.

Функции доступа:

bool isVisible() const
void setVisible(bool visible)

Сигнал уведомления:

void visibleChanged(bool visible)

См. также lifecycleState.

zoomFactor : qreal

Это свойство содержит коэффициент масштабирования содержимого страницы.

Допустимые значения находятся в диапазоне от 0.25 до 5.0. Значение по умолчанию равно 1.0.

Функции доступа:

qreal zoomFactor() const
void setZoomFactor(qreal factor)

Документация по функциям-членам

[since 5.7] void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback)

[since 5.7] void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {})

Выполняет JavaScript-код, содержащийся в scriptSource, без проверки, построена ли DOM-модель страницы. Если вам нужен больший контроль над выполнением скрипта, воспользуйтесь scripts().

Чтобы избежать конфликтов с другими скриптами, выполняемыми на странице, мир, в котором выполняется скрипт, определяется параметром worldId. Значения ID мира совпадают со значениями из QWebEngineScript::ScriptWorldId, и лежат в диапазоне от 0 до 256. Если вы опустите параметр world ID, скрипт выполнится в мире MainWorld.

После выполнения скрипта функция resultCallback вызывается с результатом последнего выполненного оператора. resultCallback может быть указателем на функцию, функтором или лямбда-выражением и ожидается, что оно примет параметр QVariant. Например:

page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); });

В качестве результата из JavaScript могут возвращаться только примитивные данные. Поддерживаемые типы данных включают все типы данных JSON, а также, например, Date и ArrayBuffer. Неподдерживаемые типы данных включают, например, Function и Promise.

Предупреждение: Не выполняйте длительные операции в функции обратного вызова, так как это может заблокировать отрисовку страницы веб-движка.

Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет вызван, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недопустимым значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.

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

См. также scripts(), QWebEngineScript::ScriptWorldId и Вставка скриптов.

[since 5.5] QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject *parent = nullptr)

Конструирует пустую страницу веб-движка в профиле веб-движка profile с родителем parent.

Если профиль не является профилем по умолчанию, вызывающая сторона должна убедиться, что профиль остается активным до тех пор, пока страница активна.

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

QWebEnginePage::QWebEnginePage(QObject *parent = nullptr)

Конструирует пустую страницу QWebEnginePage с родителем parent.

[signal, since 5.7] void QWebEnginePage::audioMutedChanged(bool muted)

Этот сигнал испускается при изменении состояния muted страницы.

Примечание: Не следует путать с отключением звука конкретного элемента HTML5 audio или video.

Примечание: Сигнал уведомления для свойства audioMuted.

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

[signal] void QWebEnginePage::authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)

Этот сигнал испускается, когда для доступа к requestUrl требуется аутентификация. authenticator должен использоваться для передачи имени пользователя и пароля для подключения.

[signal] void QWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)

Этот сигнал испускается при возникновении ошибки недопустимого сертификата во время загрузки заданного запроса.

Параметр certificateError содержит информацию о сертификате и подробности ошибки, а также предоставляет способ проигнорировать ошибку и завершить запрос или остановить загрузку запроса.

См. также QWebEngineCertificateError.

[signal] void QWebEnginePage::featurePermissionRequestCanceled(const QUrl &securityOrigin, QWebEnginePage::Feature feature)

Этот сигнал испускается, когда веб-сайт, идентифицированный по securityOrigin, отменяет ранее выданный запрос на использование feature.

См. также featurePermissionRequested() и setFeaturePermission().

[signal] void QWebEnginePage::featurePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature)

Этот сигнал испускается, когда веб-сайт, идентифицированный по securityOrigin, запрашивает использование ресурса или устройства, идентифицированного по feature.

См. также featurePermissionRequestCanceled() и setFeaturePermission().

[signal, since 5.14] void QWebEnginePage::findTextFinished(const QWebEngineFindTextResult &result)

Этот сигнал испускается, когда поиск строки на странице завершён. result содержит результат поиска строки.

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

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

[signal] void QWebEnginePage::fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)

Этот сигнал испускается, когда веб-страница запрашивает переход в полноэкранный режим для веб-элемента, обычно видеоэлемента.

Объект запроса fullScreenRequest может использоваться для принятия или отклонения запроса.

Если запрос принят, запрашивающий полноэкранный режим элемент заполнит область просмотра, но именно приложение должно перевести отображение в полноэкранный режим или переместить страницу в полноэкранное отображение.

См. также QWebEngineSettings::FullScreenSupportEnabled.

[signal] void QWebEnginePage::geometryChangeRequested(const QRect &geom)

Этот сигнал испускается всякий раз, когда документ хочет изменить положение и размер страницы на geom. Это может произойти, например, через JavaScript.

Примечание: setGeometry() ожидает размер без учета декораций окна, в то время как geom включает их. Вам необходимо вычесть размер полей рамки из geom, чтобы обработать этот сигнал правильно.

window->setGeometry(geom.marginsRemoved(window->frameMargins()));

[signal, since 5.7] void QWebEnginePage::iconChanged(const QIcon &icon)

Этот сигнал испускается, когда иконка ("favicon") страницы изменяется. Новая иконка указана в icon.

Примечание: Сигнал уведомления для свойства icon.

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

См. также icon(), iconUrl() и iconUrlChanged().

[signal] void QWebEnginePage::iconUrlChanged(const QUrl &url)

Этот сигнал испускается, когда URL иконки ("favicon") страницы изменяется. Новый URL указан в url.

Примечание: Сигнал уведомления для свойства iconUrl.

См. также iconUrl(), icon() и iconChanged().

[signal] void QWebEnginePage::linkHovered(const QString &url)

Этот сигнал испускается, когда курсор мыши находится над ссылкой. url содержит целевой URL ссылки.

[signal] void QWebEnginePage::loadFinished(bool ok)

Этот сигнал испускается, когда страница завершает загрузку содержимого. Этот сигнал независим от выполнения скрипта или отрисовки страницы. ok укажет, была ли загрузка успешной или произошла ошибка.

Примечание: Запросы на навигацию могут быть делегированы приложению Qt вместо обработки их обработчиком HTML-движка путём перегрузки функции acceptNavigationRequest(). Поскольку процесс загрузки начинается и сигнал loadStarted() испускается до принятия или отклонения запроса, ожидается loadFinished() сигнал, возвращающий false, даже после делегирования запроса.

См. также loadStarted() и acceptNavigationRequest().

[signal] void QWebEnginePage::loadProgress(int progress)

Этот сигнал испускается, когда изменяется общее состояние выполнения. Текущее значение задается параметром progress и изменяется от 0 до 100, что является стандартным диапазоном для QProgressBar. Он суммирует изменения от всех дочерних фреймов.

[signal] void QWebEnginePage::loadStarted()

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

См. также loadFinished() и acceptNavigationRequest().

[signal, since 6.2] void QWebEnginePage::loadingChanged(const QWebEngineLoadingInfo &loadingInfo)

Этот сигнал испускается, когда загрузка страницы, указанной в loadingInfo, начинается, заканчивается или завершается с ошибкой.

Примечание: Сигнал уведомления для свойства loading.

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

[signal, since 6.2] void QWebEnginePage::navigationRequested(QWebEngineNavigationRequest &request)

Этот сигнал испускается при навигации вместе с вызовом acceptNavigationRequest(). Он может использоваться для принятия или игнорирования запроса request. По умолчанию запрос принимается.

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

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

[signal, since 6.2] void QWebEnginePage::newWindowRequested(QWebEngineNewWindowRequest &request)

Этот сигнал испускается, когда запрос request выдан для загрузки страницы в отдельном окне веб-движка. Это может произойти, либо потому, что текущая страница явно запросила это через вызов JavaScript к window.open, либо потому, что пользователь щелкнул по ссылке, удерживая Shift, Ctrl или встроенную комбинацию, которая запускает открытие страницы в новом окне.

Сигнал обрабатывается вызовом openIn() с новой страницей по запросу. Если этот сигнал не обработан, запрошенная загрузка завершится ошибкой.

Примечание: Этот сигнал не испускается, если createWindow() сначала обработала запрос.

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

См. также createWindow() и QWebEngineNewWindowRequest::openIn().

[signal] void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success)

Этот сигнал испускается, когда завершается печать веб-страницы в файл PDF. filePath будет содержать путь к файлу, который был запрошен для создания, а success будет true, если файл был успешно создан, и false в противном случае.

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

[signal] void QWebEnginePage::proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)

Этот сигнал испускается, когда доступ к requestUrl через proxyHost требует аутентификации для прокси. authenticator должен использоваться для передачи имени пользователя и пароля для подключения.

[signal, since 5.11] void QWebEnginePage::quotaRequested(QWebEngineQuotaRequest quotaRequest)

Этот сигнал излучается, когда веб-страница запрашивает больше постоянного хранилища, чем текущее выделение приложения в API файловой системы. Значение по умолчанию для квоты — 0 байт.

Объект запроса quotaRequest может быть использован для принятия или отклонения запроса.

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

[signal, since 5.7] void QWebEnginePage::recentlyAudibleChanged(bool recentlyAudible)

Этот сигнал излучается, когда состояние воспроизведения звука страницы, recentlyAudible, изменяется из-за воспроизведения или остановки звука.

Примечание: Сигнал также излучается при вызове метода setAudioMuted(). Также, если звук приостановлен, этот сигнал излучается с приблизительной задержкой в две секунды с момента приостановки звука.

Примечание: Сигнал-уведомление для свойства recentlyAudible.

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

[signal, since 5.11] void QWebEnginePage::registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)

Этот сигнал излучается, когда веб-страница пытается зарегистрировать пользовательский протокол с использованием API registerProtocolHandler.

Объект запроса request может быть использован для принятия или отклонения запроса:

void WebView::handleRegisterProtocolHandlerRequested(
        QWebEngineRegisterProtocolHandlerRequest request)
{
    auto answer = QMessageBox::question(window(), tr("Permission Request"),
                                        tr("Allow %1 to open all %2 links?")
                                                .arg(request.origin().host())
                                                .arg(request.scheme()));
    if (answer == QMessageBox::Yes)
        request.accept();
    else
        request.reject();
}

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

[signal, since 5.15] void QWebEnginePage::renderProcessPidChanged(qint64 pid)

Этот сигнал излучается, когда изменяется PID базового процесса отрисовки, pid.

Примечание: Сигнал-уведомление для свойства renderProcessPid.

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

[signal, since 5.6] void QWebEnginePage::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)

Этот сигнал излучается, когда процесс отрисовки завершается с ненулевым кодом выхода. terminationStatus — статус завершения процесса, а exitCode — код состояния, с которым процесс завершился.

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

[signal, since 5.12] void QWebEnginePage::selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)

Этот сигнал излучается, когда веб-сайт запрашивает сертификат SSL клиента, и один или несколько были найдены в хранилище сертификатов клиента системы.

Обработка сигнала асинхронна, и загрузка будет ожидать, пока сертификат не будет выбран или последний экземпляр clientCertificateSelection не будет уничтожен.

Если сигнал не обрабатывается, clientCertificateSelection автоматически уничтожается, и загрузка продолжается без сертификата клиента.

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

См. также QWebEngineClientCertificateSelection.

[signal] void QWebEnginePage::selectionChanged()

Этот сигнал излучается всякий раз, когда выделение изменяется, как интерактивно, так и программно. Например, вызвав triggerAction() с действием выделения.

Примечание: При использовании мыши для выделения текста щелчком и перетаскиванием, сигнал будет излучаться для каждого нового выбранного символа, а не при отпускании левой кнопки мыши.

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

[signal] void QWebEnginePage::titleChanged(const QString &title)

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

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

[signal] void QWebEnginePage::urlChanged(const QUrl &url)

Этот сигнал излучается с URL страницы, когда получен заголовок страницы. Новый URL задаётся параметром url.

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

[signal] void QWebEnginePage::windowCloseRequested()

Этот сигнал излучается всякий раз, когда страница запрашивает закрытие окна веб-браузера, например, через вызов JavaScript window.close().

См. также RequestClose.

[virtual] QWebEnginePage::~QWebEnginePage()

Уничтожает веб-страницу.

[virtual protected, since 5.5] bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)

Эта функция вызывается при получении запроса на перенаправление на указанный url с помощью указанного типа навигации type. isMainFrame указывает, соответствует ли запрос главному или дочернему фрейму. Если функция возвращает true, запрос на навигацию принимается, и url загружается. По умолчанию все запросы на навигацию принимаются.

Запросы на навигацию могут быть делегированы приложению Qt вместо обработки их движком обработки HTML, переопределяя эту функцию. Это необходимо, когда HTML-документ используется как часть пользовательского интерфейса, а не для отображения внешних данных, например, при отображении списка результатов.

Примечание: Эта функция не вызывается для навигации по фрагментам на той же странице. Такая навигация, например, происходит при нажатии на ссылку на '#fragment' на странице. Она не вызывает загрузку другого документа, даже если изменяет URL страницы и добавляет запись в историю. Она служит только как способ перехода к определенному фрагменту страницы. Следовательно, делегирование этого типа навигации не ожидается.

Примечание: Процесс загрузки запускается, и сигнал loadStarted() излучается до принятия или отклонения запроса. Поэтому ожидается сигнал loadFinished(), возвращающий false, даже после делегирования запроса.

Примечание: При использовании setHtml или setContent с относительными ссылками, убедитесь, что указан базовый URL, иначе ссылки будут считаться недействительными, и запросы на навигацию не будут излучаться.

Класс QWebEngineUrlRequestInterceptor предоставляет дополнительные возможности для перехвата и изменения запросов.

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

QAction *QWebEnginePage::action(QWebEnginePage::WebAction action) const

Возвращает QAction для указанного WebAction action.

Действие принадлежит QWebEnginePage, но вы можете настроить его внешний вид, изменив его свойства.

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

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

[virtual protected] QStringList QWebEnginePage::chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)

Эта функция вызывается, когда веб-содержимое запрашивает имя файла, например, в результате нажатия пользователем на кнопку загрузки файла в HTML-форме.

mode указывает, ожидается возврат только одного файла или нескольких файлов.

Предлагаемое имя файла может быть предоставлено в качестве первой записи в oldFiles. acceptedMimeTypes игнорируется реализацией по умолчанию, но может использоваться при переопределении.

[virtual protected] QWebEnginePage *QWebEnginePage::createWindow(QWebEnginePage::WebWindowType type)

Эта функция вызывается для создания нового окна указанного типа type. Например, когда программа JavaScript запрашивает открыть документ в новом окне.

Если новое окно можно создать, возвращается QWebEnginePage нового окна; в противном случае возвращается указатель null.

Если представление, связанное с веб-страницей, является объектом QWebEngineView, то реализация по умолчанию перенаправляет запрос на QWebEngineView::createWindow; в противном случае возвращается указатель null.

Если этот вызов не реализован или не возвращает новую страницу, излучается newWindowRequested() для обработки запроса.

Примечание: В тех случаях, когда создание окна инициируется JavaScript, помимо переопределения этого метода, приложение также должно установить QWebEngineSettings::JavascriptCanOpenWindows в значение true для вызова этого метода.

См. также QWebEngineView::createWindow() и newWindowRequested().

[since 5.11] QWebEnginePage *QWebEnginePage::devToolsPage() const

Возвращает страницу, на которой размещены инструменты разработчика этой страницы, если таковые имеются.

Возвращает nullptr если страница инструментов разработчика не задана.

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

См. также setDevToolsPage() и inspectedPage().

[since 5.10] void QWebEnginePage::download(const QUrl &url, const QString &filename = QString())

Загружает ресурс из указанного местоположения url в локальный файл.

Если задано filename, оно используется в качестве предлагаемого имени файла. Если оно относительное, файл сохраняется в стандартном месте для загрузок с данным именем. Если это нулевая или пустая строка QString, используется имя файла по умолчанию.

Это вызовет сигнал QWebEngineProfile::downloadRequested() после начала загрузки.

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

[override virtual] bool QWebEnginePage::event(QEvent *e)

Переопределяет: QObject::event(QEvent *e).

void QWebEnginePage::findText(const QString &subString, QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> &resultCallback = ...)

Ищет указанную строку subString на странице, используя заданные options. Сигнал findTextFinished() генерируется при завершении поиска строк.

Чтобы очистить выделение поиска, просто передайте пустую строку.

resultCallback должен принимать параметр QWebEngineFindTextResult.

Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но он может быть вызван во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов вызывается с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.

Например:

    m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](bool found) {
        if (!found) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found"));
    });

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

QWebEngineHistory *QWebEnginePage::history() const

Возвращает указатель на историю просмотренных веб-страниц просмотра.

[since 5.11] QWebEnginePage *QWebEnginePage::inspectedPage() const

Возвращает страницу, которую просматривает эта страница, если таковая имеется.

Возвращает nullptr если эта страница не является страницей инструментов разработчика.

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

См. также setInspectedPage() и devToolsPage().

[virtual protected] void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString &msg)

Эта функция вызывается всякий раз, когда JavaScript-программа, выполняющаяся в кадре, связанном с securityOrigin, вызывает функцию alert() с сообщением msg.

Реализация по умолчанию отображает сообщение msg с помощью QMessageBox::information.

[virtual protected] bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)

Эта функция вызывается всякий раз, когда JavaScript-программа, выполняющаяся в кадре, связанном с securityOrigin, вызывает функцию confirm() с сообщением msg. Возвращает true если пользователь подтверждает сообщение; в противном случае возвращает false.

Также вызывается, когда обработчик onbeforeunload запрашивает подтверждение перед оставлением страницы.

Реализация по умолчанию выполняет запрос с помощью QMessageBox::information с кнопками QMessageBox::Ok и QMessageBox::Cancel.

[virtual protected] void QWebEnginePage::javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)

Эта функция вызывается, когда JavaScript-программа пытается вывести message в консоль веб-браузера.

Например, в случае ошибок вычислений исходный URL может быть предоставлен в sourceID, а также lineNumber.

level указывает степень серьезности события, которое вызвало сообщение. То есть, вызвана ли ошибка или менее серьезное событие.

С Qt 5.6 реализация по умолчанию регистрирует сообщения в js категории регистрации.

См. также Регистрация в консоли.

[virtual protected] bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)

Эта функция вызывается всякий раз, когда JavaScript-программа, выполняющаяся в кадре, связанном с securityOrigin, пытается запросить у пользователя ввод. Программа может предоставить необязательное сообщение msg, а также значение по умолчанию для ввода в defaultValue.

Если пользователь отменил запрос, реализация должна вернуть false; в противном случае результат должен быть записан в result и должно быть возвращено true. Если пользователь не отменил запрос, реализация должна вернуть true, и строка результата не должна быть нулевой.

Реализация по умолчанию использует QInputDialog::getText().

void QWebEnginePage::load(const QUrl &url)

Загружает url на эту страницу.

Примечание: Просмотр остается прежним, пока не прибудет достаточно данных для отображения нового URL.

См. также setUrl(), setHtml() и setContent().

[since 5.9] void QWebEnginePage::load(const QWebEngineHttpRequest &request)

Выполняет указанный request и загружает ответ.

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

См. также load(), setUrl(), url(), urlChanged() и QUrl::fromUserInput().

void QWebEnginePage::printToPdf(const QString &filePath, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})

Отображает текущее содержимое страницы в документ PDF и сохраняет его в указанном в filePath месте. Размер страницы и ориентация создаваемого документа PDF берутся из значений, указанных в layout, а диапазон печатаемых страниц берётся из ranges, по умолчанию печатаются все страницы.

Этот метод выполняет асинхронный запрос на печать веб-страницы в PDF и возвращается немедленно. Чтобы быть проинформированным о результате запроса, подключитесь к сигналу pdfPrintingFinished().

Если файл уже существует по указанному пути, он будет перезаписан.

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

void QWebEnginePage::printToPdf(const std::function<void (const QByteArray &)> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges &ranges = {})

Отображает текущее содержимое страницы в документ PDF и возвращает массив байтов, содержащий данные PDF, в качестве параметра resultCallback. Размер страницы и ориентация создаваемого документа PDF берутся из значений, указанных в layout, а диапазон печатаемых страниц берётся из ranges, по умолчанию печатаются все страницы.

resultCallback должен принимать ссылку на QByteArray в качестве параметра. Если печать выполнена успешно, этот массив байтов будет содержать данные PDF, в противном случае массив байтов будет пустым.

Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недопустимым значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.

[since 5.5] QWebEngineProfile *QWebEnginePage::profile() const

Возвращает профиль движка веб-отображения, к которому принадлежит страница.

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

[since 5.8] void QWebEnginePage::replaceMisspelledWord(const QString &replacement)

Заменяет текущее неправильно написанное слово на replacement.

Текущее неправильно написанное слово можно найти в QWebEngineContextMenuRequest::misspelledWord(), а предлагаемые замены — в QWebEngineContextMenuRequest::spellCheckerSuggestions().

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

[since 5.8] void QWebEnginePage::save(const QString &filePath, QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::MimeHtmlSaveFormat) const

Сохраняет текущую загруженную веб-страницу на диск.

Веб-страница сохраняется в filePath в указанном формате format.

Это сокращение для следующих действий:

  • Вызвать действие Сохранить веб-страницу.
  • Принять следующий элемент загрузки и установить указанный путь к файлу и формат сохранения.

Эта функция инициирует асинхронный запрос на загрузку веб-страницы и возвращает значение немедленно.

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

См. также QWebEngineDownloadRequest::SavePageFormat.

QWebEngineScriptCollection &QWebEnginePage::scripts()

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

Кроме того, страница может также выполнять скрипты, добавленные с помощью QWebEngineProfile::scripts().

См. также QWebEngineScriptCollection, QWebEngineScript и Инжектирование скриптов.

void QWebEnginePage::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())

Устанавливает содержимое веб-страницы на data. Если аргумент mimeType пустой, предполагается, что содержимое text/plain,charset=US-ASCII.

Внешние объекты, на которые ссылается содержимое, находятся относительно baseUrl.

data загружается немедленно; внешние объекты загружаются асинхронно.

Примечание: Этот метод не повлияет на сеанс или глобальную историю для страницы.

Предупреждение: Содержимое будет закодировано в процентах перед отправкой в рендерер через IPC. Это может увеличить его размер. Максимальный размер закодированного в процентах содержимого составляет 2 мегабайта минус 6 байтов плюс длина строки MIME-типа.

См. также toHtml() и setHtml().

[since 5.11] void QWebEnginePage::setDevToolsPage(QWebEnginePage *devToolsPage)

Связывает devToolsPage в качестве инструмента разработчика для этой страницы. Вызывает devToolsPage для перехода к внутренней URL-адресу с инструментом разработчика.

Это эквивалентно вызову setInspectedPage() для devToolsPage с this в качестве аргумента.

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

См. также devToolsPage() и setInspectedPage().

void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy)

Устанавливает разрешение для веб-сайта, идентифицированного securityOrigin, использовать feature с политикой policy.

Примечание: Этот метод предназначен в основном для вызова после отправки сигнала featurePermissionRequested() для вызова ответа на разрешение функции. Его также можно вызвать до отправки запроса, но он установит только разрешение на предоставление для пассивных проверок, в основном для API уведомлений, которые могут проверить, уже предоставлено ли разрешение, прежде чем явно запросить его.

См. также featurePermissionRequested() и featurePermissionRequestCanceled().

void QWebEnginePage::setHtml(const QString &html, const QUrl &baseUrl = QUrl())

Устанавливает содержимое этой страницы на html. baseUrl необязательно и используется для разрешения относительных URL-адресов в документе, таких как ссылки на изображения или таблицы стилей.

html загружается немедленно; внешние объекты загружаются асинхронно.

Если скрипт в html выполняется дольше, чем стандартный таймаут выполнения скрипта (в настоящее время 10 секунд), например, из-за блокировки модальным диалоговым окном JavaScript alert, этот метод возвращает значение как можно быстрее после таймаута, и последующие html будут загружаться асинхронно.

При использовании этого метода движок веб-отображения предполагает, что внешние ресурсы, такие как программы JavaScript или таблицы стилей, закодированы в UTF-8, если не указано иное. Например, кодировку внешнего скрипта можно указать в атрибуте charset тега HTML script. Также возможно, что кодировка будет указана веб-сервером.

Это удобная функция, эквивалентная setContent(html, "text/html", baseUrl).

Примечание: Этот метод не повлияет на сеанс или глобальную историю для страницы.

Предупреждение: Эта функция работает только для HTML, для других MIME-типов (таких как XHTML и SVG) следует использовать setContent().

Предупреждение: Содержимое будет закодировано в процентах перед отправкой в рендерер через IPC. Это может увеличить его размер. Максимальный размер закодированного в процентах содержимого составляет 2 мегабайта минус 30 байтов.

См. также toHtml(), setContent() и load().

[since 5.11] void QWebEnginePage::setInspectedPage(QWebEnginePage *page)

Переходит на эту страницу к внутреннему URL-адресу, который представляет собой инструмент разработчика для page.

Это эквивалентно вызову setDevToolsPage() для page с this в качестве аргумента.

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

См. также inspectedPage() и setDevToolsPage().

[since 5.13] void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

Регистрирует перехватчик запросов interceptor для перехвата запросов URL.

Страница не принимает владение указателем. Этот перехватчик вызывается после любых перехватчиков в профиле, и в отличие от перехватчиков профиля, перехватываются только запросы URL с этой страницы.

Для отмены регистрации перехватчика запросов установите nullptr.

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

См. также QWebEngineUrlRequestInfo и QWebEngineProfile::setUrlRequestInterceptor().

[since 5.7] void QWebEnginePage::setWebChannel(QWebChannel *channel, quint32 worldId = 0)

Устанавливает экземпляр веб-канала, который будет использоваться этой страницей, на channel и подключает его к транспортному средству движка веб-отображения с помощью сообщений Chromium IPC. Транспортное средство экспонируется в мире JavaScript worldId как qt.webChannelTransport, которое должно использоваться при использовании API Qt WebChannel JavaScript.

Примечание: Страница не принимает владение объектом канала.

Примечание: Один веб-канал может быть установлен на страницу, при установке даже в другом мире JavaScript отменяется регистрация любого уже установленного веб-канала.

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

См. также webChannel() и QWebEngineScript::ScriptWorldId.

QWebEngineSettings *QWebEnginePage::settings() const

Возвращает указатель на объект настроек страницы.

void QWebEnginePage::toHtml(const std::function<void (const QString &)> &resultCallback) const

Асинхронный метод для получения содержимого страницы в формате HTML, заключенного в теги HTML и BODY. По завершении успешно, resultCallback вызывается со содержимым страницы.

Примечание: resultCallback может быть указателем на функцию, функтором или лямбда-выражением и ожидается, что оно примет параметр QString.

Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет выполнен, но он может быть выполнен во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.

См. также setHtml() и toPlainText().

void QWebEnginePage::toPlainText(const std::function<void (const QString &)> &resultCallback) const

Асинхронный метод для получения содержимого страницы, преобразованного в обычный текст, полностью очищенного от всех HTML-форматирований. После успешного завершения resultCallback вызывается со содержимым страницы.

Примечание: resultCallback может быть указателем на функцию, функтором или лямбда-выражением и ожидается, что оно примет параметр QString.

Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет выполнен, но он может быть выполнен во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.

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

[virtual] void QWebEnginePage::triggerAction(QWebEnginePage::WebAction action, bool checked = false)

Этот метод можно вызвать для запуска указанного действия action. Он также вызывается Qt WebEngine, если пользователь запускает действие, например, через элемент контекстного меню.

Если action является действием с возможностью выбора, то checked указывает, включено ли действие или нет.

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

[since 5.5] QWebChannel *QWebEnginePage::webChannel() const

Возвращает указатель на экземпляр канала web, используемого этой страницей, или нулевой указатель, если он не был установлен. Этот канал автоматически использует внутренний механизм транспорта веб-движка через Chromium IPC, который доступен в контексте JavaScript этой страницы как qt.webChannelTransport.

Этот метод был добавлен в Qt 5.5.

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

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qwebenginepage.html

Spec-Zone.ru

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