Spec-Zone.ru › Qt 5.11

Тип QML WebEngineView

Компонент WebEngineView отображает веб-контент внутри приложения QML. Подробнее...

Заявление об импорте: import QtWebEngine 1.7
С момента: QtWebEngine 1.0
Наследует:

Item

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

Свойства

  • ErrorDomain : перечисление
  • Feature : перечисление
  • FindFlags : перечисление
  • JavaScriptConsoleMessageLevel : перечисление
  • LoadStatus : перечисление
  • NewViewDestination : перечисление
  • PrintedPageOrientation : перечисление
  • PrintedPageSizeId : перечисление
  • RenderProcessTerminationStatus : перечисление
  • WebAction : перечисление
  • activeFocusOnPress : bool
  • audioMuted : bool
  • backgroundColor : bool
  • canGoBack : bool
  • canGoForward : bool
  • contentsSize : размер
  • devToolsView : WebEngineView
  • icon : url
  • inspectedView : WebEngineView
  • isFullScreen : bool
  • loadProgress : int
  • loading : bool
  • navigationHistory : WebEngineHistory
  • profile : WebEngineProfile
  • recentlyAudible : bool
  • scrollPosition : точка
  • settings : WebEngineSettings
  • title : строка
  • url : url
  • userScripts : список<WebEngineScript>
  • webChannel : QQmlWebChannel
  • webChannelWorld : int
  • zoomFactor : вещественное

Сигналы

  • activeFocusOnPressChanged(bool activeFocusOnPress)
  • audioMutedChanged(bool muted)
  • authenticationDialogRequested(AuthenticationDialogRequest request)
  • backgroundColorChanged()
  • certificateError(WebEngineCertificateError error)
  • colorDialogRequested(ColorDialogRequest request)
  • contextMenuRequested(ContextMenuRequest request)
  • featurePermissionRequested(url securityOrigin, Feature feature)
  • fileDialogRequested(FileDialogRequest request)
  • fullScreenRequested(FullScreenRequest request)
  • geometryChangeRequested(rect geometry, rect frameGeometry)
  • javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, string message, int lineNumber, string sourceID)
  • javaScriptDialogRequested(JavaScriptDialogRequest request)
  • linkHovered(url hoveredUrl)
  • loadingChanged(WebEngineLoadRequest loadRequest)
  • navigationRequested(WebEngineNavigationRequest request)
  • newViewRequested(WebEngineNewViewRequest request)
  • pdfPrintingFinished(string filePath, bool success)
  • quotaRequested(QuotaRequest request)
  • recentlyAudibleChanged(bool recentlyAudible)
  • registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)
  • renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)
  • wasRecentlyAudibleChanged(bool wasRecentlyAudible)
  • windowCloseRequested()

Методы

  • void findText(string subString, FindFlags options, variant resultCallback)
  • void findText(string subString, FindFlags options)
  • void findText(string subString)
  • void fullScreenCancelled()
  • void goBack()
  • void goBackOrForward(int offset)
  • void goForward()
  • void grantFeaturePermission(url securityOrigin, Feature feature, bool granted)
  • void loadHtml(string html, url baseUrl)
  • void printToPdf(variant resultCallback, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
  • void printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
  • void reload()
  • void reloadAndBypassCache()
  • void replaceMisspelledWord(const QString &replacement)
  • void runJavaScript(string script, variant callback)
  • void setActiveFocusOnPress(bool arg)
  • void stop()
  • void triggerWebAction(WebAction action)

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

Тип WebEngineView позволяет приложениям QML отображать области динамического веб-контента. Он может совместно использовать экран с другими типами QML, такими как TabView, или заполнять весь экран, как указано в приложении QML.

Инициализация Web Engine

Для отображения веб-движка необходимо инициализировать его, используя QtWebEngine::initialize в главном исходном файле приложения, как показано в следующем фрагменте кода:

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);

    QtWebEngine::initialize();

    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

    return app.exec();
}

Загрузка веб-страниц

Приложение может загружать страницы в WebEngineView, используя либо свойство url, либо метод loadHtml, и перемещаться по истории просмотра вью. Метод GET всегда используется для загрузки URL-адресов.

История представлена моделью данных WebEngineHistory, которая хранится в свойстве navigationHistory.

В следующем примере приложения QML загружается веб-страница, используя свойство url:

import QtQuick 2.0
import QtQuick.Window 2.0
import QtWebEngine 1.0

Window {
    width: 1024
    height: 750
    visible: true
    WebEngineView {
        anchors.fill: parent
        url: "http://www.qt.io"
    }
}

Свойство loading содержит информацию о том, загружается ли в данный момент HTML-страница. Сигнал loadingChanged() излучается при начале, завершении или ошибке загрузки страницы.

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

Если при загрузке веб-страницы возникает ошибка сертификата, излучается сигнал certificateError(). Обработка ошибок сертификатов выполняется с помощью методов типа WebEngineCertificateError.

Взаимодействие

По умолчанию ссылки на другие страницы загружаются в том же объекте WebEngineView, но веб-сайты могут запросить их открытие в новой вкладке, окне или диалоговом окне. Сигнал newViewRequested() излучается, когда поступит запрос на загрузку страницы в отдельном веб-движке. Свойство NewViewDestination описывает способ открытия нового окна. Кроме того, можно использовать утилиту типа WebEngineNewViewRequest для загрузки веб-страниц в отдельных веб-движках.

Метод findText() может использоваться для поиска строки на веб-странице с помощью параметров, описанных в FindFlags.

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

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

Сигнал linkHovered() излучается, когда указатель мыши наводится на ссылку и соответствует событию mouseover DOM.

Действия, такие как выделение и редактирование содержимого, могут быть выполнены на веб-странице с помощью метода triggerWebAction(). Доступные действия описываются свойством WebAction.

Сигнал backgroundColorChanged() излучается при изменении цвета фона веб-страницы.

Пользовательские скрипты

Во время загрузки страницы так называемые пользовательские скрипты могут быть внедрены в движок JavaScript в разные моменты. Объекты скриптов, прикрепленные к веб-вью, хранятся в свойстве userScripts и внедряются с помощью типа WebEngineScript. Скрипты также могут быть запущены с помощью метода runJavaScript() в той же среде, что и другие скрипты, которые являются частью загруженного сайта.

Свойство webChannel можно использовать для экспонирования экземпляра WebChannel в контексте JavaScript страницы, которую он отображает, как qt.webChannelTransport.

Режим полноэкранного отображения

Веб-страница может запросить через API JavaScript загрузку в полноэкранном режиме. Сигнал fullScreenRequested() излучается, когда веб-страница выдает запрос. Утилиту типа FullScreenRequest можно использовать для переключения запросов на полноэкранный режим. Метод fullScreenCancelled можно использовать для уведомления движка браузера, когда система оконного интерфейса заставляет приложение выйти из полноэкранного режима.

Профили

Объекты веб-движка можно изолировать друг от друга с помощью типа WebEngineProfile. Профиль содержит настройки, скрипты и список посещенных ссылок, общих для всех представлений, принадлежащих профилю. Например, можно создать отдельный профиль для режима инкогнито. Текущий профиль для представления хранится в свойстве profile, а текущие настройки – в свойстве settings. Настройки задаются с помощью типа WebEngineSettings.

Особенности платформы

Веб-страницы могут запрашивать доступ к функциям платформы, таким как геолокация или устройства захвата аудио и видео. Сигнал featurePermissionRequested() излучается, когда веб-страница запрашивает использование ресурса. Поддерживаемые функции платформы описаны в свойстве Feature. Если пользователи предоставят разрешение, метод grantFeaturePermission() используется для установки значения granted.

Отображение на поверхность OpenGL

При использовании QQuickRenderControl для отображения пользовательского интерфейса Qt Quick на поверхности OpenGL тип WebEngineView отображается некорректно. Веб-движок пытается использовать глобальный контекст OpenGL, созданный QtWebEngine::initialize, но нет публичного API для доступа к этому контексту для его совместного использования с контекстом QQuickRenderControl.

Чтобы правильно отобразить веб-вью, можно вручную создать новый контекст без отображения, который делится с QQuickRenderControl, и вызвать закрытую функцию qt_gl_set_global_share_context(), вместо вызова initialize(). Если initialize() вызван после установки глобального контекста, он ничего не сделает.

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

ErrorDomain : перечисление

Описывает различные типы ошибок высокого уровня:

Постоянная Описание
WebEngineView.NoErrorDomain
WebEngineView.InternalErrorDomain Qt WebEngine не удается интерпретировать содержимое.
WebEngineView.ConnectionErrorDomain Ошибка вызвана неисправной сетью.
WebEngineView.CertificateErrorDomain Ошибка, связанная с сертификатом SSL/TLS.
WebEngineView.HttpErrorDomain Ошибка, связанная с HTTP-соединением.
WebEngineView.FtpErrorDomain Ошибка, связанная с FTP-соединением.
WebEngineView.DnsErrorDomain Ошибка, связанная с соединением DNS.

Feature : перечисление

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

Постоянная Описание
WebEngineView.Geolocation Местоположение аппаратного или программного обеспечения.
WebEngineView.MediaAudioCapture Устройства захвата звука, такие как микрофоны.
WebEngineView.MediaVideoCapture Видеоустройства, такие как камеры.
WebEngineView.MediaAudioVideoCapture Устройства захвата как аудио, так и видео.
DesktopVideoCapture Захват видеовывода, то есть захват экрана пользователя. (Добавлена в Qt 5.10)
DesktopAudioVideoCapture Захват как аудио, так и видеовывода. (Добавлена в Qt 5.10)

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

FindFlags : перечисление

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

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

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

END_OF_DOCUMENT_MARKER ```

JavaScriptConsoleMessageLevel : перечисление

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

Постоянная Описание
WebEngineView.InfoMessageLevel Сообщение является чисто информативным и его безопасно игнорировать.
WebEngineView.WarningMessageLevel Сообщение указывает на возможную проблему, требующую внимания.
WebEngineView.ErrorMessageLevel Сообщение указывает на ошибку.

LoadStatus : перечисление

Отражает статус загрузки страницы:

Постоянная Описание
WebEngineView.LoadStartedStatus Страница в процессе загрузки.
WebEngineView.LoadStoppedStatus Загрузка страницы была остановлена методом stop(), кодом загрузчика или стеком сети в Chromium.
WebEngineView.LoadSucceededStatus Страница успешно загружена и в данный момент не загружается.
WebEngineView.LoadFailedStatus Страница не смогла загрузиться и в данный момент не загружается.

NewViewDestination : перечисление

Описывает способ открытия нового окна:

Постоянная Описание
WebEngineView.NewViewInWindow В отдельном окне.
WebEngineView.NewViewInTab В вкладке того же окна.
WebEngineView.NewViewInDialog В окне без панели вкладок, панели инструментов или адресной строки.
WebEngineView.NewViewInBackgroundTab В вкладке того же окна, без скрытия текущего отображаемого веб-движка.

См. также WebEngineNewViewRequest.destination.

PrintedPageOrientation : перечисление

Описывает ориентацию PDF-документа, созданного из содержимого WebEngineView. Значения перечисления отображаются из и должны соответствовать QPageLayout::Orientation.

Постоянная Описание
WebEngineView.Portrait Документ будет создан в портретном формате.
WebEngineView.Landscape Документ будет создан в альбомном формате.

Этот свойство было введено в QtWebEngine 1.3.

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

PrintedPageSizeId : перечисление

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

Значения перечисления отображаются из и должны соответствовать QPageSize::PageSizeId. Они также дублируются в QPagedPaintDevice и QPrinter.

Определённые размеры:

Постоянная Описание
WebEngineView.A0 841 x 1189 мм
WebEngineView.A1 594 x 841 мм
WebEngineView.A2 420 x 594 мм
WebEngineView.A3 297 x 420 мм
WebEngineView.A4 210 x 297 мм, 8.26 x 11.69 дюймов
WebEngineView.A5 148 x 210 мм
WebEngineView.A6 105 x 148 мм
WebEngineView.A7 74 x 105 мм
WebEngineView.A8 52 x 74 мм
WebEngineView.A9 37 x 52 мм
WebEngineView.B0 1000 x 1414 мм
WebEngineView.B1 707 x 1000 мм
WebEngineView.B2 500 x 707 мм
WebEngineView.B3 353 x 500 мм
WebEngineView.B4 250 x 353 мм
WebEngineView.B5 176 x 250 мм, 6.93 x 9.84 дюймов
WebEngineView.B6 125 x 176 мм
WebEngineView.B7 88 x 125 мм
WebEngineView.B8 62 x 88 мм
WebEngineView.B9 44 x 62 мм
WebEngineView.B10 31 x 44 мм
WebEngineView.C5E 163 x 229 мм
WebEngineView.Comm10E 105 x 241 мм, обычный конверт США 10
WebEngineView.DLE 110 x 220 мм
WebEngineView.Executive 7.5 x 10 дюймов, 190.5 x 254 мм
WebEngineView.Folio 210 x 330 мм
WebEngineView.Ledger 431.8 x 279.4 мм
WebEngineView.Legal 8.5 x 14 дюймов, 215.9 x 355.6 мм
WebEngineView.Letter 8.5 x 11 дюймов, 215.9 x 279.4 мм
WebEngineView.Tabloid 279.4 x 431.8 мм
WebEngineView.Custom Неизвестно или размер, определённый пользователем.
WebEngineView.A10
WebEngineView.A3Extra
WebEngineView.A4Extra
WebEngineView.A4Plus
WebEngineView.A4Small
WebEngineView.A5Extra
WebEngineView.B5Extra
WebEngineView.JisB0
WebEngineView.JisB1
WebEngineView.JisB2
WebEngineView.JisB3
WebEngineView.JisB4
WebEngineView.JisB5
WebEngineView.JisB6
WebEngineView.JisB7
WebEngineView.JisB8
WebEngineView.JisB9
WebEngineView.JisB10
WebEngineView.AnsiA = Letter
WebEngineView.AnsiB = Ledger
WebEngineView.AnsiC
WebEngineView.AnsiD
WebEngineView.AnsiE
WebEngineView.LegalExtra
WebEngineView.LetterExtra
WebEngineView.LetterPlus
WebEngineView.LetterSmall
WebEngineView.TabloidExtra
WebEngineView.ArchA
WebEngineView.ArchB
WebEngineView.ArchC
WebEngineView.ArchD
WebEngineView.ArchE
WebEngineView.Imperial7x9
WebEngineView.Imperial8x10
WebEngineView.Imperial9x11
WebEngineView.Imperial9x12
WebEngineView.Imperial10x11
WebEngineView.Imperial10x13
WebEngineView.Imperial10x14
WebEngineView.Imperial12x11
WebEngineView.Imperial15x11
WebEngineView.ExecutiveStandard
WebEngineView.Note
WebEngineView.Quarto
WebEngineView.Statement
WebEngineView.SuperA
WebEngineView.SuperB
WebEngineView.Postcard
WebEngineView.DoublePostcard
WebEngineView.Prc16K
WebEngineView.Prc32K
WebEngineView.Prc32KBig
WebEngineView.FanFoldUS
WebEngineView.FanFoldGerman
WebEngineView.FanFoldGermanLegal
WebEngineView.EnvelopeB4
WebEngineView.EnvelopeB5
WebEngineView.EnvelopeB6
WebEngineView.EnvelopeC0
WebEngineView.EnvelopeC1
WebEngineView.EnvelopeC2
WebEngineView.EnvelopeC3
WebEngineView.EnvelopeC4
WebEngineView.EnvelopeC5 = C5E
WebEngineView.EnvelopeC6
WebEngineView.EnvelopeC65
WebEngineView.EnvelopeC7
WebEngineView.EnvelopeDL = DLE
WebEngineView.Envelope9
WebEngineView.Envelope10 = Comm10E
WebEngineView.Envelope11
WebEngineView.Envelope12
WebEngineView.Envelope14
WebEngineView.EnvelopeMonarch
WebEngineView.EnvelopePersonal
WebEngineView.EnvelopeChou3
WebEngineView.EnvelopeChou4
WebEngineView.EnvelopeInvite
WebEngineView.EnvelopeItalian
WebEngineView.EnvelopeKaku2
WebEngineView.EnvelopeKaku3
WebEngineView.EnvelopePrc1
WebEngineView.EnvelopePrc2
WebEngineView.EnvelopePrc3
WebEngineView.EnvelopePrc4
WebEngineView.EnvelopePrc5
WebEngineView.EnvelopePrc6
WebEngineView.EnvelopePrc7
WebEngineView.EnvelopePrc8
WebEngineView.EnvelopePrc9
WebEngineView.EnvelopePrc10
WebEngineView.EnvelopeYou4
WebEngineView.LastPageSize = EnvelopeYou4

Это свойство было введено в QtWebEngine 1.3.

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

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

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

Постоянная Описание
WebEngineView.NormalTerminationStatus Процесс отрисовки завершился нормально.
WebEngineView.AbnormalTerminationStatus Процесс отрисовки завершился с ненулевым кодом возврата.
WebEngineView.CrashedTerminationStatus Процесс отрисовки аварийно завершился, например, из-за ошибки сегментации.
WebEngineView.KilledTerminationStatus Процесс отрисовки был завершен принудительно, например, с помощью SIGKILL или диспетчером задач.

Это свойство было введено в QtWebEngine 1.2.

WebAction : перечисление

Описывает типы действий, которые можно выполнить на веб-странице:

Постоянная Описание
WebEngineView.NoWebAction Действие не выполняется.
WebEngineView.Back Переход назад в истории навигации по ссылкам.
WebEngineView.Forward Переход вперед в истории навигации по ссылкам.
WebEngineView.Stop Остановка загрузки текущей страницы.
WebEngineView.Reload Перезагрузка текущей страницы.
WebEngineView.ReloadAndBypassCache Перезагрузка текущей страницы без использования локального кэша.
WebEngineView.Cut Вырезать выделенный контент в буфер обмена.
WebEngineView.Copy Скопировать выделенный контент в буфер обмена.
WebEngineView.Paste Вставить контент из буфера обмена.
WebEngineView.Undo Отменить последнее действие редактирования.
WebEngineView.Redo Повторить последнее действие редактирования.
WebEngineView.SelectAll Выделить весь контент.
WebEngineView.PasteAndMatchStyle Вставить контент из буфера обмена с текущим стилем.
WebEngineView.OpenLinkInThisWindow Открыть текущую ссылку в текущем окне. (Добавлен в Qt 5.6)
WebEngineView.OpenLinkInNewWindow Открыть текущую ссылку в новом окне. (Добавлен в Qt 5.6)
WebEngineView.OpenLinkInNewTab Открыть текущую ссылку в новой вкладке. (Добавлен в Qt 5.6)
WebEngineView.CopyLinkToClipboard Скопировать текущую ссылку в буфер обмена. (Добавлен в Qt 5.6)
WebEngineView.CopyImageToClipboard Скопировать щелкнутое изображение в буфер обмена. (Добавлен в Qt 5.6)
WebEngineView.CopyImageUrlToClipboard Скопировать URL щелкнутого изображения в буфер обмена. (Добавлен в Qt 5.6)
WebEngineView.CopyMediaUrlToClipboard Скопировать URL наведённого курсором аудио- или видеоэлемента в буфер обмена. (Добавлен в Qt 5.6)
WebEngineView.ToggleMediaControls Переключаться между отображением и скрытием элементов управления для наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6)
WebEngineView.ToggleMediaLoop Переключить циклический показ наведённого курсором аудио- или видеоэлемента при завершении. (Добавлен в Qt 5.6)
WebEngineView.ToggleMediaPlayPause Переключить состояние воспроизведения/паузы наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6)
WebEngineView.ToggleMediaMute Выключить или включить звук наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6)
WebEngineView.DownloadLinkToDisk Скачать текущую ссылку на диск. Для реализации действий загрузки подключитесь к сигналу QWebEngineProfile::downloadRequested. (Добавлен в Qt 5.6)
WebEngineView.DownloadImageToDisk Скачать выделенное изображение на диск. (Добавлен в Qt 5.6)
WebEngineView.DownloadMediaToDisk Скачать наведённое курсором аудио- или видео на диск. (Добавлен в Qt 5.6)
WebEngineView.InspectElement Запустить подключенный к странице инструмент Web Inspector для проверки выделенного элемента. (Добавлен в Qt 5.6)
WebEngineView.ExitFullScreen Выход из полноэкранного режима. (Добавлен в Qt 5.6)
WebEngineView.SavePage Сохранить текущую веб-страницу на диск. (Добавлен в Qt 5.7)
WebEngineView.ViewSource Показать исходный код текущей страницы в новой вкладке. (Добавлен в Qt 5.8)
WebEngineView.ToggleBold Переключает полужирное начертание выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.ToggleItalic Переключает курсив для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.ToggleUnderline Переключает подчёркивание для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.ToggleStrikethrough Переключает зачёркивание для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.AlignLeft Выравнивает строки, содержащие выделение или курсор, по левому краю. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.AlignCenter Выравнивает строки, содержащие выделение или курсор, по центру. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.AlignRight Выравнивает строки, содержащие выделение или курсор, по правому краю. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.AlignJustified Растягивает строки, содержащие выделение или курсор, так, чтобы каждая строка имела одинаковую ширину. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.Indent Отступает строки, содержащие выделение или курсор. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.Outdent Уменьшает отступ строк, содержащих выделение или курсор. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.InsertOrderedList Вставляет упорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлен в Qt 5.10)
WebEngineView.InsertUnorderedList Вставляет неупорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлен в Qt 5.10)

Это свойство было введено в QtWebEngine 1.2.

activeFocusOnPress : bool

Указывает, должен ли вид получать активный фокус при нажатии. Значение по умолчанию — true.

Это свойство было введено в QtWebEngine 1.2.

audioMuted : bool

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

Это свойство было введено в QtWebEngine 1.3.

См. также recentlyAudible.

backgroundColor : bool

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

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

Это свойство было введено в QtWebEngine 1.2.

[только для чтения] canGoBack : bool

Возвращает true, если существуют предыдущие записи истории сессии, false в противном случае.

[только для чтения] canGoForward : bool

Возвращает true, если существуют последующие записи истории сессии, false в противном случае.

contentsSize : размер

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

Это свойство было введено в QtWebEngine 1.3.

devToolsView : WebEngineView

Вид, в настоящее время отображающий инструменты разработчика для данного вида. Установка нового вида перенаправит этот вид на внутренний URL-адрес с инструментами разработчика и привяжет его к этому виду.

Это свойство было введено в QtWebEngine 1.7.

См. также inspectedView.

END_OF_DOCUMENT_MARKER

[только чтение] icon : url

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

Следующий фрагмент кода использует свойство icon для построения компонента Image:

Image {
    id: appIcon
    sourceSize: Qt.size(32, 32)
    source: webView.icon != "" ? webView.icon : "fallbackFavicon.png";
    // ...
}

Указание свойства sourceSize элемента Image информирует поставщика значков Qt WebEngine о запрошенном размере. Поставщик значков пытается найти наилучшее соответствие среди кандидатов значков веб-страницы. Если свойство sourceSize не указано, поставщик предоставляет значок с наибольшим разрешением.

inspectedView : WebEngineView

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

Рекомендуется сбросить это свойство, когда инструменты разработчика не видны; в противном случае некоторые отладочные данные могут появиться в просматриваемом WebEngineView.

Это свойство было добавлено в QtWebEngine 1.7.

См. также devToolsView.

[только чтение] isFullScreen : bool

Возвращает true, если веб-представление находится в полноэкранном режиме, false в противном случае.

Это свойство было добавлено в QtWebEngine 1.1.

См. также fullScreenRequested() и fullScreenCancelled().

[только чтение] loadProgress : int

Количество данных страницы, загруженное в процентах в диапазоне от 0 до 100.

[только чтение] loading : bool

Возвращает true, если HTML-страница в настоящее время загружается, false в противном случае.

[только чтение] navigationHistory : WebEngineHistory

История навигации текущего представления.

Это свойство было добавлено в QtWebEngine 1.1.

См. также WebEngineHistory.

profile : WebEngineProfile

Текущий профиль, используемый для представления.

Это свойство было добавлено в QtWebEngine 1.1.

См. также WebEngineProfile.

[только чтение] recentlyAudible : bool

Возвращает текущий состояние звукового воспроизведения страницы (звук недавно воспроизводился или нет).

Это свойство было добавлено в QtWebEngine 1.3.

См. также audioMuted и recentlyAudibleChanged.

scrollPosition : point

Положение скролла содержимого страницы.

Это свойство было добавлено в QtWebEngine 1.3.

[только чтение] settings : WebEngineSettings

Настройки, используемые этим представлением.

Это свойство было добавлено в QtWebEngine 1.1.

См. также WebEngineSettings.

[только чтение] title : string

Заголовок текущей отображаемой HTML-страницы. Это значение только для чтения, отражающее содержимое тега <title>.

url : url

Расположение текущей отображаемой HTML-страницы. Это изменяемое свойство предоставляет основной интерфейс для загрузки страницы в веб-представление. Оно работает так же, как и свойство window.location DOM.

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

[только чтение] userScripts : list<WebEngineScript>

Список объектов скриптов, присоединенных к представлению.

Это свойство было добавлено в QtWebEngine 1.1.

См. также WebEngineScript.

webChannel : QQmlWebChannel

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

Примечание: Представление не берет на себя ответственность за назначенный объект webChannel.

Это свойство было добавлено в QtWebEngine 1.1.

webChannelWorld : int

JavaScript-мир, в котором установлен экземпляр веб-канала, используемого этим представлением. Мир должен быть числом в диапазоне от 0 до 256.

Это свойство было добавлено в QtWebEngine 1.3.

zoomFactor : real

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

Это свойство было добавлено в QtWebEngine 1.1.

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

activeFocusOnPressChanged(bool activeFocusOnPress)

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

Этот сигнал был добавлен в QtWebEngine 1.2.

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

audioMutedChanged(bool muted)

Этот сигнал испускается при (от)ключении звука страницы с помощью свойства audioMuted.

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

Этот сигнал был добавлен в QtWebEngine 1.3.

См. также audioMuted и recentlyAudibleChanged.

authenticationDialogRequested(AuthenticationDialogRequest request)

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

Запрос можно обработать, используя методы типа AuthenticationDialogRequest.

Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. После этого необходимо вызвать либо AuthenticationDialogRequest::dialogAccept(), либо AuthenticationDialogRequest::dialogReject().

Этот сигнал был добавлен в QtWebEngine 1.4.

backgroundColorChanged()

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

Этот сигнал был добавлен в QtWebEngine 1.2.

certificateError(WebEngineCertificateError error)

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

Ошибка сертификата может быть обработана с помощью методов типа WebEngineCertificateError.

Этот сигнал был добавлен в QtWebEngine 1.1.

colorDialogRequested(ColorDialogRequest request)

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

Запрос можно обработать, используя методы типа ColorDialogRequest.

Примечание: Обработчики сигналов должны вызвать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. После этого необходимо вызвать либо ColorDialogRequest::dialogAccept(), либо ColorDialogRequest::dialogReject().

Этот сигнал был добавлен в QtWebEngine 1.4.

contextMenuRequested(ContextMenuRequest request)

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

Запрос можно обработать, используя свойства типа ContextMenuRequest.

Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение контекстного меню по умолчанию.

Этот сигнал был представлен в QtWebEngine 1.4.

featurePermissionRequested(url securityOrigin, Feature feature)

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

Этот сигнал был представлен в QtWebEngine 1.1.

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

fileDialogRequested(FileDialogRequest request)

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

Ошибки запроса можно обработать, используя методы типа FileDialogRequest.

Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Не забудьте вызвать либо FileDialogRequest::dialogAccept(), либо FileDialogRequest::dialogReject() после этого.

Этот сигнал был представлен в QtWebEngine 1.4.

fullScreenRequested(FullScreenRequest request)

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

Этот сигнал был представлен в QtWebEngine 1.1.

См. также isFullScreen.

geometryChangeRequested(rect geometry, rect frameGeometry)

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

В то время как frameGeometry включает размер рамок, geometry исключает размер рамок.

Примечание: Свойства QML Window, относящиеся к геометрии, ожидают размер без учета декораций окна. Для правильной обработки этого сигнала необходимо использовать geometry.

onGeometryChangeRequested: {
    window.x = geometry.x
    window.y = geometry.y
    window.width = geometry.width
    window.height = geometry.height
}

Этот сигнал был представлен в QtWebEngine 1.7.

javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, string message, int lineNumber, string sourceID)

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

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

level указывает на серьёзность события, вызвавшего сообщение, т. е. было ли это вызвано ошибкой или менее серьёзным событием.

Если обработчик не указан, просмотр запишет сообщения в js категорию логирования.

См. также Ведение журналов консоли.

javaScriptDialogRequested(JavaScriptDialogRequest request)

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

Запрос можно обработать, используя методы типа JavaScriptDialogRequest.

Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Не забудьте вызвать либо JavaScriptDialogRequest::dialogAccept(), либо JavaScriptDialogRequest::dialogReject() после этого.

Этот сигнал был представлен в QtWebEngine 1.4.

linkHovered(url hoveredUrl)

В интерфейсе с мышью этот сигнал испускается, когда курсор мыши перемещается над ссылкой, что соответствует событию mouseover DOM. Это событие также может произойти в сенсорных интерфейсах для событий mouseover, которые не отменены с помощью preventDefault(). hoveredUrl предоставляет расположение ссылки.

loadingChanged(WebEngineLoadRequest loadRequest)

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

При обработке сигнала с помощью onLoadingChanged доступны различные параметры только для чтения на объекте WebEngineLoadRequest, указанном в loadRequest.

См. также loading, LoadStatus и ErrorDomain.

navigationRequested(WebEngineNavigationRequest request)

Этот сигнал испускается при запросе навигации request.

newViewRequested(WebEngineNewViewRequest request)

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

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

Пример реализации:

QtObject {
    id: windowParent
    // Create the initial browsing windows and open the startup page.
    Component.onCompleted: {
        var firstWindow = windowComponent.createObject(windowParent);
        firstWindow.webView.loadHtml('<input type="button" value="Click!" onclick="window.open(&quot;http://qt.io&quot;)">');
    }

    property Component windowComponent: Window {
        // Destroy on close to release the Window's QML resources.
        // Because it was created with a parent, it won't be garbage-collected.
        onClosing: destroy()
        visible: true

        property WebEngineView webView: webView_
        WebEngineView {
            id: webView_
            anchors.fill: parent

            // Handle the signal. Dynamically create the window and
            // use its WebEngineView as the destination of our request.
            onNewViewRequested: function(request) {
                var newWindow = windowComponent.createObject(windowParent);
                request.openIn(newWindow.webView);
            }
        }
    }
}

Этот сигнал был представлен в QtWebEngine 1.1.

См. также NewViewDestination и WebEngine Quick Nano Browser.

pdfPrintingFinished(string filePath, bool success)

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

Этот сигнал был представлен в QtWebEngine 1.5.

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

quotaRequested(QuotaRequest request)

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

Этот сигнал был представлен в QtWebEngine 1.7.

См. также QuotaRequest.

recentlyAudibleChanged(bool recentlyAudible)

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

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

Этот сигнал также испускается для аудио плагина Flash.

Если веб-страница содержит два видео, которые начинаются последовательно, этот сигнал испускается только один раз, для первого видео, которое воспроизводит звук. После того, как оба видео остановлены, сигнал испускается при последнем воспроизведенном звуке. Это означает, что сигнал испускается как при воспроизведении любого звука, так и когда всё полностью беззвучно на веб-странице, независимо от количества аудиопотоков.

Могут также возникать ложные испускания сигналов. Например, когда звук останавливается, этот сигнал испускается сначала со значением true, а затем со значением false. Кроме того, при воспроизведении звука сигнал испускается дважды со значением true.

Этот сигнал был представлен в QtWebEngine 1.3.

См. также recentlyAudible.

registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)

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

Этот сигнал был представлен в QtWebEngine 1.7.

См. также RegisterProtocolHandlerRequest.

renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)

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

Этот сигнал был представлен в QtWebEngine 1.2.

См. также RenderProcessTerminationStatus.

wasRecentlyAudibleChanged(bool wasRecentlyAudible)

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

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

Этот сигнал был введён в QtWebEngine 1.3.

windowCloseRequested()

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

Этот сигнал был введён в QtWebEngine 1.2.

Документация по методам

void findText(string subString, FindFlags options, variant resultCallback)

Ищет указанную строку subString на странице, используя заданные options.

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

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

findText("Qt", WebEngineView.FindCaseSensitively, function(success) {
    if (success)
        console.log("Qt was found!");
});

Этот метод был введён в QtWebEngine 1.1.

void findText(string subString, FindFlags options)

Ищет указанную строку subString на странице, используя заданные options.

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

findText("Qt", WebEngineView.FindBackward | WebEngineView.FindCaseSensitively);

Этот метод был введён в QtWebEngine 1.1.

void findText(string subString)

Ищет указанную строку subString на странице.

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

Этот метод был введён в QtWebEngine 1.1.

void fullScreenCancelled()

Немедленно устанавливает свойство isFullScreen в значение false. Его можно использовать для уведомления движка браузера о том, что система окон выводит приложение из полноэкранного режима.

ApplicationWindow {
    onVisibilityChanged: {
        if (webEngineView.isFullScreen && visibility != Window.FullScreen)
            webEngineView.fullScreenCancelled()
    }

    WebEngineView {
        id: webEngineView
        // ...
    }
}

Этот метод был введён в QtWebEngine 1.1.

См. также isFullScreen и fullScreenRequested().

void goBack()

Перейти назад в истории сессии браузера, если это возможно. Эта функция эквивалентна методу window.history.back() DOM.

См. также canGoBack.

void goBackOrForward(int offset)

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

Этот метод был введён в QtWebEngine 1.1.

См. также goBack() и goForward().

void goForward()

Перейти вперёд в истории сессии браузера, если это возможно. Эта функция эквивалентна методу window.history.forward() DOM.

void grantFeaturePermission(url securityOrigin, Feature feature, bool granted)

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

Этот метод был введён в QtWebEngine 1.1.

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

void loadHtml(string html, url baseUrl)

Загружает указанный html как содержимое веб-представления.

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

Внешние объекты, такие как таблицы стилей или изображения, на которые ссылается HTML-документ, должны быть расположены относительно baseUrl. Например, если html получен из http://www.example.com/documents/overview.html, которое является базовым URL, то изображение, на которое ссылается относительный URL diagram.png, должно быть расположено по адресу http://www.example.com/documents/diagram.png.

См. также url.

void printToPdf(variant resultCallback, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)

Печатает текущее содержимое WebEngineView в PDF-документ и возвращает его в виде массива байтов. Размер документа определяется значением pageSizeId, а ориентация определяется с помощью orientation.

resultCallback должен принимать строковый параметр. Эта строка будет содержать данные документа при успешной печати и пустую строку в противном случае.

Если вы опустите pageSizeID, он по умолчанию будет A4. Если вы опустите orientation, он по умолчанию будет Portrait.

Этот метод был введён в QtWebEngine 1.3.

void printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)

Печатает текущее содержимое WebEngineView в PDF-документ и сохраняет его по пути filePath. Размер документа определяется значением pageSizeId, а ориентация определяется с помощью orientation.

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

Если вы опустите pageSizeID, он по умолчанию будет A4. Если вы опустите orientation, он по умолчанию будет Portrait.

Этот метод был введён в QtWebEngine 1.3.

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

void reload()

Перезагружает текущую страницу. Эта функция эквивалентна методу window.location.reload() DOM.

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

void reloadAndBypassCache()

Перезагружает текущую страницу, игнорируя кэшированное содержимое.

Этот метод был введён в QtWebEngine 1.1.

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

void replaceMisspelledWord(const QString &replacement)

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

Этот метод был введён в QtWebEngine 1.3.

void runJavaScript(string script, variant callback)

Выполняет указанный script в содержимом веб-представления.

Параметр callback является необязательным. Если функция callback предоставлена, она будет вызвана после завершения выполнения скрипта.

runJavaScript("document.title", function(result) { console.log(result); });

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

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

См. WebEngineView::userScripts для альтернативного API вставки скриптов.

void setActiveFocusOnPress(bool arg)

Устанавливает активный фокус на щелкнутое веб-представление, если arg равен true. Установив его в значение false, веб-представление можно использовать для создания элемента пользовательского интерфейса, который не должен получать фокус. Это может быть полезно в гибридном пользовательском интерфейсе.

Этот метод был введён в QtWebEngine 1.2.

См. также activeFocusOnPressChanged и WebEngineSettings::focusOnNavigationEnabled.

void stop()

Останавливает загрузку текущей страницы.

void triggerWebAction(WebAction action)

Вызывает веб-действие action.

Этот метод был введён в QtWebEngine 1.2.

См. также WebAction.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtwebengine-webengineview.html

Spec-Zone.ru

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