Spec-Zone.ru › Qt 5.13

Тип QML WebEngineView

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

Заявление об импорте: import QtWebEngine 1.9
С тех пор: 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(activeFocusOnPress)
  • audioMutedChanged(muted)
  • authenticationDialogRequested(request)
  • backgroundColorChanged()
  • certificateError(error)
  • colorDialogRequested(request)
  • contextMenuRequested(request)
  • featurePermissionRequested(securityOrigin, Feature feature)
  • fileDialogRequested(request)
  • fullScreenRequested(request)
  • geometryChangeRequested(geometry, прямоугольник frameGeometry)
  • javaScriptConsoleMessage(level, строка message, int lineNumber, строка sourceID)
  • javaScriptDialogRequested(request)
  • linkHovered(hoveredUrl)
  • loadingChanged(loadRequest)
  • navigationRequested(request)
  • newViewRequested(request)
  • pdfPrintingFinished(filePath, bool success)
  • printRequest()
  • quotaRequested(request)
  • recentlyAudibleChanged(recentlyAudible)
  • registerProtocolHandlerRequested(request)
  • renderProcessTerminated(terminationStatus, int exitCode)
  • selectClientCertificate(clientCertificateSelection)
  • wasRecentlyAudibleChanged(wasRecentlyAudible)
  • windowCloseRequested()

Методы

  • WebEngineAction action(action)
  • void findText(subString, FindFlags options, вариант resultCallback)
  • void findText(subString, FindFlags options)
  • void findText(subString)
  • void fullScreenCancelled()
  • void goBack()
  • void goBackOrForward(offset)
  • void goForward()
  • void grantFeaturePermission(securityOrigin, Feature feature, bool granted)
  • void loadHtml(html, url baseUrl)
  • void printToPdf(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(script, вариант callback)
  • void setActiveFocusOnPress(arg)
  • void stop()
  • void triggerWebAction(action)

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

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

Инициализация движка Web Engine

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

int main(int argc, char *argv[])
{
    QCoreApplication::setOrganizationName("QtExamples");
    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 и перемещаться по истории сеанса просмотра. Для загрузки URL всегда используется метод GET.

История представлена моделью данных 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: "https://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() используется для установки значения разрешено.

Отображение на поверхности 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)
WebEnginView.Notifications Веб-уведомления для конечного пользователя.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Constant Description
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 250 x 353 мм, 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 мм, стандартный конверт США
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 Выделить всё. Это действие доступно только когда содержимое страницы имеет фокус. Фокус может быть принудительно установлен вызовом JavaScript window.focus(), или можно включить автоматический фокус, установив значение свойства focusOnNavigationEnabled.
WebEngineView.PasteAndMatchStyle Вставить контент из буфера обмена с текущим стилем.
WebEngineView.OpenLinkInThisWindow Открыть текущую ссылку в текущем окне. (Добавлена в Qt 5.6)
WebEngineView.OpenLinkInNewWindow Открыть текущую ссылку в новом окне. Требуется обработчик сигнала newViewRequested(). (Добавлена в Qt 5.6)
WebEngineView.OpenLinkInNewTab Открыть текущую ссылку в новой вкладке. Требуется обработчик сигнала newViewRequested(). (Добавлена в 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 Скачать текущую ссылку на диск. Для реализации действий скачивания подключитесь к сигналу WebEngineProfile.downloadRequested. (Добавлена в Qt 5.6)
WebEngineView.DownloadImageToDisk Скачать выделенное изображение на диск. (Добавлена в Qt 5.6)
WebEngineView.DownloadMediaToDisk Скачать наведённое курсором аудио или видео на диск. (Добавлена в Qt 5.6)
WebEngineView.InspectElement Запустить подключенный Веб-инспектор для проверки выделенного элемента. (Добавлена в Qt 5.6)
WebEngineView.ExitFullScreen Выход из полноэкранного режима. (Добавлена в Qt 5.6)
WebEngineView.SavePage Сохранить текущую веб-страницу на диск. (Добавлена в Qt 5.7)
WebEngineView.ViewSource Показать исходный код текущей страницы в новой вкладке. Требуется обработчик сигнала newViewRequested(). (Добавлена в 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 в противном случае.

END_OF_DOCUMENT_MARKER

contentsSize : размер

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

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

devToolsView : WebEngineView

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

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

См. также inspectedView.

[только для чтения] 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 : точка

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

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

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

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

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

См. также WebEngineSettings.

[только для чтения] title : строка

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

url : url

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

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

[только для чтения] userScripts : список<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 : вещественное

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

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

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

activeFocusOnPressChanged(activeFocusOnPress)

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

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

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

audioMutedChanged(muted)

Этот сигнал испускается при изменении значения muted. Значение задаётся с помощью свойства audioMuted.

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

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

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

authenticationDialogRequested(request)

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

Обработку request можно выполнить с помощью методов типа AuthenticationDialogRequest.

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

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

backgroundColorChanged()

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

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

certificateError(error)

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

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

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

colorDialogRequested(request)

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

Обработку request можно выполнить с помощью методов типа ColorDialogRequest.

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

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

contextMenuRequested(request)

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

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

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

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

featurePermissionRequested(securityOrigin, Feature feature)

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

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

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

fileDialogRequested(request)

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

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

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

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

fullScreenRequested(request)

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

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

См. также isFullScreen.

geometryChangeRequested(geometry, rect frameGeometry)

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

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

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

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

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

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

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

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

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

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

javaScriptDialogRequested(request)

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

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

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

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

linkHovered(hoveredUrl)

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

loadingChanged(loadRequest)

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

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

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

navigationRequested(request)

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

newViewRequested(request)

Этот сигнал генерируется, когда 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(filePath, bool success)

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

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

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

printRequest()

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

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

См. также printToPdf.

quotaRequested(request)

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

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

См. также QuotaRequest.

recentlyAudibleChanged(recentlyAudible)

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

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

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

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

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

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

См. также recentlyAudible.

registerProtocolHandlerRequested(request)

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

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

См. также RegisterProtocolHandlerRequest.

renderProcessTerminated(terminationStatus, int exitCode)

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

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

См. также RenderProcessTerminationStatus.

selectClientCertificate(clientCertificateSelection)

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

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

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

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

См. также WebEngineClientCertificateSelection.

wasRecentlyAudibleChanged(wasRecentlyAudible)

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

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

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

windowCloseRequested()

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

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

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

WebEngineAction action(action)

Возвращает WebEngineAction для указанного WebAction action. WebEngineView также отвечает за выполнение действия, так что при срабатывании соответствующее действие выполняется на представлении.

var copyAction = webEngineView.action(WebEngineView.Copy);

Этот метод был введён в Qt 5.12.

См. также WebEngineAction.

void findText(subString, FindFlags options, variant resultCallback)

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

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

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

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

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

void findText(subString, FindFlags options)

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

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

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

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

void findText(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()

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

См. также canGoBack.

void goBackOrForward(offset)

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

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

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

void goForward()

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

void grantFeaturePermission(securityOrigin, Feature feature, bool granted)

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

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

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

void loadHtml(html, url baseUrl)

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

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

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

См. также url.

void printToPdf(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()

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

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

void reloadAndBypassCache()

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

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

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

void replaceMisspelledWord(const QString &replacement)

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

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

void runJavaScript(script, variant callback)

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

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

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

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

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

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

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

void setActiveFocusOnPress(arg)

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

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

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

void stop()

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

void triggerWebAction(action)

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

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

См. также WebAction.

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

Spec-Zone.ru

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