Spec-Zone.ru › Qt 5.12

Тип QML WebEngineView

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

Заявление об импорте: import QtWebEngine 1.8
С момента: 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(прямоугольник geometry, прямоугольник 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)
  • printRequest()
  • quotaRequested(QuotaRequest request)
  • recentlyAudibleChanged(bool recentlyAudible)
  • registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)
  • renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)
  • wasRecentlyAudibleChanged(bool wasRecentlyAudible)
  • windowCloseRequested()

Методы

  • WebEngineAction действие(WebAction действие)
  • void найтиТекст(строка подстрока)
  • void найтиТекст(строка подстрока, FindFlags параметры)
  • void найтиТекст(строка подстрока, FindFlags параметры, вариант обратныйВызов)
  • void отменаПолногоЭкрана()
  • void назад()
  • void назадВперед(целое смещение)
  • void вперед()
  • void предоставитьРазрешениеНаФункцию(url происхождениеБезопасности, Функция функция, логическое предоставлено)
  • void загрузитьHtml(строка html, url базовыйАдрес)
  • void распечататьВPdf(const строка путьКФайлу, PrintedPageSizeId размерСтраницы, PrintedPageOrientation ориентация)
  • void распечататьВPdf(вариант обратныйВызов, PrintedPageSizeId размерСтраницы, PrintedPageOrientation ориентация)
  • void перезагрузить()
  • void перезагрузитьИПропуститьКэш()
  • void заменитьНеправильноеСлово(const QString &замена)
  • void выполнитьJavaScript(строка скрипт, вариант обратныйВызов)
  • void установитьАктивныйФокусПриНажатии(логическое арг)
  • void остановить()
  • void вызватьДействиеВeb(WebAction действие)

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

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

Инициализация 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)

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

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

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

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

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

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
END_OF_DOCUMENT_MARKER
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 Открыть текущую ссылку в новом окне. Требуется обработчик сигнала 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 Запустить подключённый Web Inspector для проверки выделенного элемента. (Добавлено в 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 в противном случае.

contentsSize : размер

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

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

END_OF_DOCUMENT_MARKER

devToolsView : WebEngineView

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

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

См. также inspectedView.

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

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

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

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

Указание свойства sourceSize элемента Image информирует поставщика favicon Qt WebEngine о запрошенном размере. Поставщик favicon пытается найти наиболее подходящий значок среди кандидатов на веб-странице. Если свойство 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)

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

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

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

audioMutedChanged(bool muted)

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

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

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

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

authenticationDialogRequested(AuthenticationDialogRequest request)

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

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

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

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

backgroundColorChanged()

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

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

certificateError(WebEngineCertificateError error)

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

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

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

colorDialogRequested(ColorDialogRequest request)

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

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

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

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

contextMenuRequested(ContextMenuRequest request)

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

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

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

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

featurePermissionRequested(url securityOrigin, Feature feature)

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

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

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

fileDialogRequested(FileDialogRequest request)

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

Обработку запроса 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.

Обработку запроса request можно осуществить, используя методы типа 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().

printRequest()

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

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

См. также printToPdf.

quotaRequested(QuotaRequest request)

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

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

См. также QuotaRequest.

recentlyAudibleChanged(bool recentlyAudible)

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

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

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

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

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

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

См. также recentlyAudible.

registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)

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

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

См. также RegisterProtocolHandlerRequest.

renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)

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

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

См. также RenderProcessTerminationStatus.

wasRecentlyAudibleChanged(bool wasRecentlyAudible)

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

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

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

windowCloseRequested()

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

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

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

WebEngineAction action(WebAction action)

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

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

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

См. также WebEngineAction.

void findText(string subString)

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

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

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

void findText(string subString, FindFlags options)

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

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

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

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

void findText(string 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 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(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)

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

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

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

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

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

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

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

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

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

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

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 является необязательным. Если функция обратного вызова предоставлена, она будет вызвана после завершения выполнения скрипта.

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

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

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

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

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

void setActiveFocusOnPress(bool arg)

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

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

См. также activeFocusOnPress, 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/qt-5.12/qml-qtwebengine-webengineview.html

Spec-Zone.ru

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