Spec-Zone.ru › Qt 5.14

Класс QWebEnginePage

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

Заголовок: #include <QWebEnginePage>
qmake: QT += webenginewidgets
С момента: Qt 5.4
Наследует: QObject

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

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

Общие типы

Перечисление 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
  • recentlyAudible : const bool
  • recommendedState : const LifecycleState
  • requestedUrl : const QUrl
  • scrollPosition : const QPointF
  • selectedText : const QString
  • title : const QString
  • url : QUrl
  • visible : bool
  • zoomFactor : qreal

Общедоступные функции

QWebEnginePage(QWebEngineProfile *profile, QObject *parent = Q_NULLPTR)
QWebEnginePage(QObject *parent = Q_NULLPTR)
virtual ~QWebEnginePage()
QAction * action(QWebEnginePage::WebAction action) const
QColor backgroundColor() const
QSizeF contentsSize() const
const QWebEngineContextMenuData & contextMenuData() const
QMenu * createStandardContextMenu()
QWebEnginePage * devToolsPage() const
void download(const QUrl &url, const QString &filename = QString())
void findText(const QString &subString, QWebEnginePage::FindFlags options = ..., const QWebEngineCallback<bool> &resultCallback = ...)
bool hasSelection() const
QWebEngineHistory * history() const
QIcon icon() const
QUrl iconUrl() const
QWebEnginePage * inspectedPage() const
bool isAudioMuted() const
bool isVisible() const
QWebEnginePage::LifecycleState lifecycleState() const
void load(const QUrl &url)
void load(const QWebEngineHttpRequest &request)
void print(QPrinter *printer, const QWebEngineCallback<bool> &resultCallback)
void printToPdf(const QString &filePath, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
void printToPdf(const QWebEngineCallback<const QByteArray &> &resultCallback, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
QWebEngineProfile * profile() const
bool recentlyAudible() const
QWebEnginePage::LifecycleState recommendedState() const
void replaceMisspelledWord(const QString &replacement)
QUrl requestedUrl() const
void runJavaScript(const QString &scriptSource)
void runJavaScript(const QString &scriptSource, quint32 worldId)
void runJavaScript(const QString &scriptSource, const QWebEngineCallback<const QVariant &> &resultCallback)
void runJavaScript(const QString &scriptSource, quint32 worldId, const QWebEngineCallback<const QVariant &> &resultCallback)
void save(const QString &filePath, QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::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 setView(QWidget *view)
void setVisible(bool visible)
void setWebChannel(QWebChannel *channel, uint worldId)
void setWebChannel(QWebChannel *channel)
void setZoomFactor(qreal factor)
QWebEngineSettings * settings() const
QString title() const
void toHtml(const QWebEngineCallback<const QString &> &resultCallback) const
void toPlainText(const QWebEngineCallback<const QString &> &resultCallback) const
virtual void triggerAction(QWebEnginePage::WebAction action, bool checked = ...)
QUrl url() const
QWidget * view() 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 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 pdfPrintingFinished(const QString &filePath, bool success)
void printRequested()
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 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()

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

виртуальный bool acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
виртуальный bool certificateError(const QWebEngineCertificateError &certificateError)
виртуальный QStringList chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)
виртуальный QWebEnginePage * createWindow(QWebEnginePage::WebWindowType type)
виртуальный void javaScriptAlert(const QUrl &securityOrigin, const QString &msg)
виртуальный bool javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)
виртуальный void javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)
виртуальный bool javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)

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

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

API QWebEnginePage очень похож на 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 может быть использована для автоматического получения фокуса связанным с страницей представлением при выполнении операции навигации (например, загрузки или перезагрузки страницы или навигации по истории).

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

enum 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.

enum QWebEnginePage::FileSelectionMode

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

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

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

enum QWebEnginePage::FindFlagflags QWebEnginePage::FindFlags

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

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

Тип FindFlags — это псевдоним для QFlags<FindFlag>. Он хранит объединённое с помощью OR сочетание значений FindFlag.

enum QWebEnginePage::JavaScriptConsoleMessageLevel

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

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

enum QWebEnginePage::LifecycleState

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

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

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

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

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

перечисление QWebEnginePage::PermissionPolicy

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

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

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

перечисление QWebEnginePage::RenderProcessTerminationStatus

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

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

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

перечисление 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(). (Добавлен в Qt 5.6)
QWebEnginePage::OpenLinkInNewTab 14 Открыть текущую ссылку в новой вкладке. Требуется реализация createWindow(). (Добавлен в Qt 5.6)
QWebEnginePage::OpenLinkInNewBackgroundTab 31 Открыть текущую ссылку в новой фоновой вкладке. Требуется реализация createWindow(). (Добавлен в 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 Запустить подключённый веб-инспектор для проверки выделенного элемента. (Добавлен в 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(). (Добавлен в 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)

перечисление QWebEnginePage::WebWindowType

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

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

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

audioMuted : bool

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

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

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

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

bool isAudioMuted() const
void setAudioMuted(bool muted)

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

void audioMutedChanged(bool muted)

См. также recentlyAudible.

backgroundColor : QColor

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

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

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

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

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

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

contentsSize : const QSizeF

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

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

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

QSizeF contentsSize() const

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

void contentsSizeChanged(const QSizeF &size)

hasSelection : const bool

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

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

bool hasSelection() const

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

icon : const QIcon

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

По умолчанию это свойство содержит пустой значок. Если веб-страница указывает более одного значка, свойство icon содержит доступные кандидаты-значки в одном масштабируемом QIcon.

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

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

QIcon icon() const

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

void iconChanged(const QIcon &icon)

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

iconUrl : const QUrl

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

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

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

QUrl iconUrl() const

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

void iconUrlChanged(const QUrl &url)

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

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.

recentlyAudible : const bool

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

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

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

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

bool recentlyAudible() const

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

void recentlyAudibleChanged(bool recentlyAudible)

См. также audioMuted.

recommendedState : const LifecycleState

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

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

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

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

QWebEnginePage::LifecycleState recommendedState() const

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

void recommendedStateChanged(QWebEnginePage::LifecycleState state)

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

requestedUrl : const QUrl

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

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

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

QUrl requestedUrl() const

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

scrollPosition : const QPointF

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

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

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

QPointF scrollPosition() const

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

void scrollPositionChanged(const QPointF &position)

selectedText : const QString

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

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

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

QString selectedText() const

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

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

visible : bool

Это свойство содержит информацию о том, считается ли страница видимой в API Page Visibility.

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

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

Это свойство было введено в 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)

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

void QWebEnginePage::runJavaScript(const QString &scriptSource)

void QWebEnginePage::runJavaScript(const QString &scriptSource, const QWebEngineCallback<const QVariant &> &resultCallback)

void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId)

void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId, const QWebEngineCallback<const QVariant &> &resultCallback)

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

Для избежания конфликтов с другими скриптами, выполняемыми на странице, указывается мир, в котором выполняется скрипт, с помощью worldId. Значения идентификаторов миров совпадают с предоставленными 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, и Вставка скрипта.

QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject *parent = Q_NULLPTR)

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

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

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

QWebEnginePage::QWebEnginePage(QObject *parent = Q_NULLPTR)

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

[signal] void QWebEnginePage::audioMutedChanged(bool muted)

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

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

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

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

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

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

[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] 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] void QWebEnginePage::iconChanged(const QIcon &icon)

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

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

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

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

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

Этот сигнал излучается, когда изменяется URL-адрес значка («иконки закладки») страницы. Новый 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] void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success)

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

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

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

[signal] void QWebEnginePage::printRequested()

Этот сигнал излучается, когда вызывается JavaScript-метод window.print(). Как правило, обработчик сигнала может просто вызвать printToPdf().

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

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

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

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

[signal] void QWebEnginePage::quotaRequested(QWebEngineQuotaRequest quotaRequest)

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

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

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

[signal] void QWebEnginePage::recentlyAudibleChanged(bool recentlyAudible)

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

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

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

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

[signal] void QWebEnginePage::registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)

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

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

void WebPage::handleRegisterProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
{
    auto answer = QMessageBox::question(
        view()->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] void QWebEnginePage::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)

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

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

[signal] 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] bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)

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

Эта функция вызывается для абсолютных URL-адресов, которые начинаются с http:// или https://, и для неизвестных схем, таких как mailto:, которые будут обработаны QDesktopServices, если приняты. Чтобы эта функция вызывалась также при получении запросов на перенаправление на локальные URL-адреса, добавьте префикс http:// к URL-адресам.

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

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

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

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

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

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

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

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

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

[virtual protected] bool QWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)

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

Параметр certificateError содержит информацию о сертификате и подробности ошибки.

Возврат true игнорирует ошибку и завершает запрос. Возврат false останавливает загрузку запроса.

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

См. также QWebEngineCertificateError.

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

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

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

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

const QWebEngineContextMenuData &QWebEnginePage::contextMenuData() const

Возвращает дополнительные данные о текущем контекстном меню. Гарантируется, что оно является допустимым только во время вызова обработчика QWebEngineView::contextMenuEvent() связанного QWebEngineView.

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

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

QMenu *QWebEnginePage::createStandardContextMenu()

Создаёт стандартное контекстное меню, которое отображается при щелчке правой кнопкой мыши по веб-странице. Вызывается из обработчика contextMenuEvent() по умолчанию. Владение созданным меню передаётся вызывающему.

Возвращает nullptr, если данные контекстного меню не инициализированы, например, если функция вызвана, когда фактически не требуется контекстное меню.

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

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

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

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

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

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

QWebEnginePage *QWebEnginePage::devToolsPage() const

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

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

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

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

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 QWebEngineCallback<bool> &resultCallback = ...)

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

Для удаления выделения поиска просто передайте пустую строку.

resultCallback должен принимать булев параметр. Он вызывается со значением true, если subString найдена; в противном случае значение вызова будет false.

Предупреждение: Мы гарантируем, что обратный вызов (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

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

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, а строка результата не должна быть null.

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

void QWebEnginePage::load(const QUrl &url)

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

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

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

void QWebEnginePage::load(const QWebEngineHttpRequest &request)

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

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

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

void QWebEnginePage::print(QPrinter *printer, const QWebEngineCallback<bool> &resultCallback)

Отображает текущее содержимое страницы в временный PDF-документ, затем печатает его с помощью printer.

Настройки для создания и печати PDF-документа будут взяты из объекта printer. Пользователь отвечает за то, чтобы printer оставался действительным до тех пор, пока не будет вызван resultCallback.

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

resultCallback должен принимать булево значение в качестве параметра. Если печать выполнена успешно, это значение будет равно true, в противном случае – false.

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

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

void QWebEnginePage::printToPdf(const QString &filePath, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))

Отображает текущее содержимое страницы в PDF-документ и сохраняет его в указанном в filePath месте. Размер и ориентация страницы создаваемого PDF-документа берутся из значений, указанных в pageLayout.

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

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

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

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

void QWebEnginePage::printToPdf(const QWebEngineCallback<const QByteArray &> &resultCallback, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))

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

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

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

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

QWebEngineProfile *QWebEnginePage::profile() const

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

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

void QWebEnginePage::replaceMisspelledWord(const QString &replacement)

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

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

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

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

void QWebEnginePage::save(const QString &filePath, QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const

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

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

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

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

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

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

См. также QWebEngineDownloadItem::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().

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(), так как он предназначен только для обработки ожидающих запросов на разрешения. Установка разрешений на функции до запроса не оказывает никакого эффекта.

См. также 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().

void QWebEnginePage::setInspectedPage(QWebEnginePage *page)

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

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

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

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

void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)

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

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

Чтобы удалить интерцептор запросов, установите nullptr.

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

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

void QWebEnginePage::setView(QWidget *view)

Устанавливает view, связанный с веб-страницей.

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

void QWebEnginePage::setWebChannel(QWebChannel *channel, uint worldId)

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

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

Примечание: Только один веб-канал может быть установлен на страницу. Установка канала даже в другом JavaScript мире удалит любой уже установленный веб-канал.

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

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

void QWebEnginePage::setWebChannel(QWebChannel *channel)

Это перегруженная функция.

Устанавливает экземпляр веб-канала, используемого этой страницей, на channel и устанавливает его в главном JavaScript мире.

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

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

См. также QWebEngineScript::MainWorld.

QWebEngineSettings *QWebEnginePage::settings() const

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

См. также QWebEngineSettings::defaultSettings().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

QWidget *QWebEnginePage::view() const

Возвращает виджет отображения, связанный с веб-страницей.

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

QWebChannel *QWebEnginePage::webChannel() const

Возвращает указатель на экземпляр канала веб-связи, используемый этой страницей, или нулевой указатель, если он не был задан. Этот канал автоматически использует внутренний механизм передачи веб-движка через 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-5.14/qwebenginepage.html

Spec-Zone.ru

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