Тип QML WebEngineView
Компонент WebEngineView отображает веб-контент внутри приложения QML. Подробнее...
| Заявление об импорте: | import QtWebEngine 1.7 |
| С момента: | QtWebEngine 1.0 |
| Наследует: |
Свойства
- ErrorDomain : перечисление
- Feature : перечисление
- FindFlags : перечисление
- JavaScriptConsoleMessageLevel : перечисление
- LoadStatus : перечисление
- NewViewDestination : перечисление
- PrintedPageOrientation : перечисление
- PrintedPageSizeId : перечисление
- RenderProcessTerminationStatus : перечисление
- WebAction : перечисление
- activeFocusOnPress : bool
- audioMuted : bool
- backgroundColor : bool
- canGoBack : bool
- canGoForward : bool
- contentsSize : размер
- devToolsView : WebEngineView
- icon : url
- inspectedView : WebEngineView
- isFullScreen : bool
- loadProgress : int
- loading : bool
- navigationHistory : WebEngineHistory
- profile : WebEngineProfile
- recentlyAudible : bool
- scrollPosition : точка
- settings : WebEngineSettings
- title : строка
- url : url
- userScripts : список<WebEngineScript>
- webChannel : QQmlWebChannel
- webChannelWorld : int
- zoomFactor : вещественное
Сигналы
- activeFocusOnPressChanged(bool activeFocusOnPress)
- audioMutedChanged(bool muted)
- authenticationDialogRequested(AuthenticationDialogRequest request)
- backgroundColorChanged()
- certificateError(WebEngineCertificateError error)
- colorDialogRequested(ColorDialogRequest request)
- contextMenuRequested(ContextMenuRequest request)
- featurePermissionRequested(url securityOrigin, Feature feature)
- fileDialogRequested(FileDialogRequest request)
- fullScreenRequested(FullScreenRequest request)
- geometryChangeRequested(rect geometry, rect frameGeometry)
- javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, string message, int lineNumber, string sourceID)
- javaScriptDialogRequested(JavaScriptDialogRequest request)
- linkHovered(url hoveredUrl)
- loadingChanged(WebEngineLoadRequest loadRequest)
- navigationRequested(WebEngineNavigationRequest request)
- newViewRequested(WebEngineNewViewRequest request)
- pdfPrintingFinished(string filePath, bool success)
- quotaRequested(QuotaRequest request)
- recentlyAudibleChanged(bool recentlyAudible)
- registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)
- renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)
- wasRecentlyAudibleChanged(bool wasRecentlyAudible)
- windowCloseRequested()
Методы
- void findText(string subString, FindFlags options, variant resultCallback)
- void findText(string subString, FindFlags options)
- void findText(string subString)
- void fullScreenCancelled()
- void goBack()
- void goBackOrForward(int offset)
- void goForward()
- void grantFeaturePermission(url securityOrigin, Feature feature, bool granted)
- void loadHtml(string html, url baseUrl)
- void printToPdf(variant resultCallback, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
- void printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
- void reload()
- void reloadAndBypassCache()
- void replaceMisspelledWord(const QString &replacement)
- void runJavaScript(string script, variant callback)
- void setActiveFocusOnPress(bool arg)
- void stop()
- void triggerWebAction(WebAction action)
Подробное описание
Тип WebEngineView позволяет приложениям QML отображать области динамического веб-контента. Он может совместно использовать экран с другими типами QML, такими как TabView, или заполнять весь экран, как указано в приложении QML.
Инициализация Web Engine
Для отображения веб-движка необходимо инициализировать его, используя QtWebEngine::initialize в главном исходном файле приложения, как показано в следующем фрагменте кода:
int main(int argc, char *argv[])
{
QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
QGuiApplication app(argc, argv);
QtWebEngine::initialize();
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
} Загрузка веб-страниц
Приложение может загружать страницы в WebEngineView, используя либо свойство url, либо метод loadHtml, и перемещаться по истории просмотра вью. Метод GET всегда используется для загрузки URL-адресов.
История представлена моделью данных WebEngineHistory, которая хранится в свойстве navigationHistory.
В следующем примере приложения QML загружается веб-страница, используя свойство url:
import QtQuick 2.0
import QtQuick.Window 2.0
import QtWebEngine 1.0
Window {
width: 1024
height: 750
visible: true
WebEngineView {
anchors.fill: parent
url: "http://www.qt.io"
}
} Свойство loading содержит информацию о том, загружается ли в данный момент HTML-страница. Сигнал loadingChanged() излучается при начале, завершении или ошибке загрузки страницы.
Заголовок HTML-страницы можно получить с помощью свойства title. Кроме того, веб-страница может задавать значок, который можно получить с помощью свойства icon. Свойство zoomFactor позволяет изменять масштаб отображения веб-страницы.
Если при загрузке веб-страницы возникает ошибка сертификата, излучается сигнал certificateError(). Обработка ошибок сертификатов выполняется с помощью методов типа WebEngineCertificateError.
Взаимодействие
По умолчанию ссылки на другие страницы загружаются в том же объекте WebEngineView, но веб-сайты могут запросить их открытие в новой вкладке, окне или диалоговом окне. Сигнал newViewRequested() излучается, когда поступит запрос на загрузку страницы в отдельном веб-движке. Свойство NewViewDestination описывает способ открытия нового окна. Кроме того, можно использовать утилиту типа WebEngineNewViewRequest для загрузки веб-страниц в отдельных веб-движках.
Метод findText() может использоваться для поиска строки на веб-странице с помощью параметров, описанных в FindFlags.
Метод setActiveFocusOnPress() используется для создания элемента пользовательского интерфейса, который не должен получать фокус при нажатии. Это может быть полезно в гибридном пользовательском интерфейсе.
Настройка focusOnNavigationEnabled позволяет автоматически получать фокус вью при навигации (например, при загрузке или перезагрузке страницы, или перемещении по истории).
Сигнал linkHovered() излучается, когда указатель мыши наводится на ссылку и соответствует событию mouseover DOM.
Действия, такие как выделение и редактирование содержимого, могут быть выполнены на веб-странице с помощью метода triggerWebAction(). Доступные действия описываются свойством WebAction.
Сигнал backgroundColorChanged() излучается при изменении цвета фона веб-страницы.
Пользовательские скрипты
Во время загрузки страницы так называемые пользовательские скрипты могут быть внедрены в движок JavaScript в разные моменты. Объекты скриптов, прикрепленные к веб-вью, хранятся в свойстве userScripts и внедряются с помощью типа WebEngineScript. Скрипты также могут быть запущены с помощью метода runJavaScript() в той же среде, что и другие скрипты, которые являются частью загруженного сайта.
Свойство webChannel можно использовать для экспонирования экземпляра WebChannel в контексте JavaScript страницы, которую он отображает, как qt.webChannelTransport.
Режим полноэкранного отображения
Веб-страница может запросить через API JavaScript загрузку в полноэкранном режиме. Сигнал fullScreenRequested() излучается, когда веб-страница выдает запрос. Утилиту типа FullScreenRequest можно использовать для переключения запросов на полноэкранный режим. Метод fullScreenCancelled можно использовать для уведомления движка браузера, когда система оконного интерфейса заставляет приложение выйти из полноэкранного режима.
Профили
Объекты веб-движка можно изолировать друг от друга с помощью типа WebEngineProfile. Профиль содержит настройки, скрипты и список посещенных ссылок, общих для всех представлений, принадлежащих профилю. Например, можно создать отдельный профиль для режима инкогнито. Текущий профиль для представления хранится в свойстве profile, а текущие настройки – в свойстве settings. Настройки задаются с помощью типа WebEngineSettings.
Особенности платформы
Веб-страницы могут запрашивать доступ к функциям платформы, таким как геолокация или устройства захвата аудио и видео. Сигнал featurePermissionRequested() излучается, когда веб-страница запрашивает использование ресурса. Поддерживаемые функции платформы описаны в свойстве Feature. Если пользователи предоставят разрешение, метод grantFeaturePermission() используется для установки значения granted.
Отображение на поверхность OpenGL
При использовании QQuickRenderControl для отображения пользовательского интерфейса Qt Quick на поверхности OpenGL тип WebEngineView отображается некорректно. Веб-движок пытается использовать глобальный контекст OpenGL, созданный QtWebEngine::initialize, но нет публичного API для доступа к этому контексту для его совместного использования с контекстом QQuickRenderControl.
Чтобы правильно отобразить веб-вью, можно вручную создать новый контекст без отображения, который делится с QQuickRenderControl, и вызвать закрытую функцию qt_gl_set_global_share_context(), вместо вызова initialize(). Если initialize() вызван после установки глобального контекста, он ничего не сделает.
Документация по свойствам
ErrorDomain : перечисление
Описывает различные типы ошибок высокого уровня:
| Постоянная | Описание |
|---|---|
WebEngineView.NoErrorDomain |
|
WebEngineView.InternalErrorDomain |
Qt WebEngine не удается интерпретировать содержимое. |
WebEngineView.ConnectionErrorDomain |
Ошибка вызвана неисправной сетью. |
WebEngineView.CertificateErrorDomain |
Ошибка, связанная с сертификатом SSL/TLS. |
WebEngineView.HttpErrorDomain |
Ошибка, связанная с HTTP-соединением. |
WebEngineView.FtpErrorDomain |
Ошибка, связанная с FTP-соединением. |
WebEngineView.DnsErrorDomain |
Ошибка, связанная с соединением DNS. |
Feature : перечисление
Описывает категории доступа к функциям платформы, доступ к которым пользователь может разрешить или запретить:
| Постоянная | Описание |
|---|---|
WebEngineView.Geolocation |
Местоположение аппаратного или программного обеспечения. |
WebEngineView.MediaAudioCapture |
Устройства захвата звука, такие как микрофоны. |
WebEngineView.MediaVideoCapture |
Видеоустройства, такие как камеры. |
WebEngineView.MediaAudioVideoCapture |
Устройства захвата как аудио, так и видео. |
DesktopVideoCapture |
Захват видеовывода, то есть захват экрана пользователя. (Добавлена в Qt 5.10) |
DesktopAudioVideoCapture |
Захват как аудио, так и видеовывода. (Добавлена в Qt 5.10) |
См. также featurePermissionRequested() и grantFeaturePermission().
FindFlags : перечисление
Описывает параметры функции findText(). Параметры могут быть объединены по "ИЛИ" из следующего списка:
| Постоянная | Описание |
|---|---|
WebEngineView.FindBackward |
Поиск в обратном порядке вместо прямого. |
WebEngineView.FindFlags |
Поиск регистрозависимым образом. По умолчанию findText() работает без учета регистра. Указание этого параметра изменяет поведение на поиск, учитывающий регистр. |
См. также findText().
END_OF_DOCUMENT_MARKER ```JavaScriptConsoleMessageLevel : перечисление
Указывает уровень серьезности сообщения JavaScript консоли:
| Постоянная | Описание |
|---|---|
WebEngineView.InfoMessageLevel |
Сообщение является чисто информативным и его безопасно игнорировать. |
WebEngineView.WarningMessageLevel |
Сообщение указывает на возможную проблему, требующую внимания. |
WebEngineView.ErrorMessageLevel |
Сообщение указывает на ошибку. |
LoadStatus : перечисление
Отражает статус загрузки страницы:
| Постоянная | Описание |
|---|---|
WebEngineView.LoadStartedStatus |
Страница в процессе загрузки. |
WebEngineView.LoadStoppedStatus |
Загрузка страницы была остановлена методом stop(), кодом загрузчика или стеком сети в Chromium. |
WebEngineView.LoadSucceededStatus |
Страница успешно загружена и в данный момент не загружается. |
WebEngineView.LoadFailedStatus |
Страница не смогла загрузиться и в данный момент не загружается. |
NewViewDestination : перечисление
Описывает способ открытия нового окна:
| Постоянная | Описание |
|---|---|
WebEngineView.NewViewInWindow |
В отдельном окне. |
WebEngineView.NewViewInTab |
В вкладке того же окна. |
WebEngineView.NewViewInDialog |
В окне без панели вкладок, панели инструментов или адресной строки. |
WebEngineView.NewViewInBackgroundTab |
В вкладке того же окна, без скрытия текущего отображаемого веб-движка. |
См. также WebEngineNewViewRequest.destination.
PrintedPageOrientation : перечисление
Описывает ориентацию PDF-документа, созданного из содержимого WebEngineView. Значения перечисления отображаются из и должны соответствовать QPageLayout::Orientation.
| Постоянная | Описание |
|---|---|
WebEngineView.Portrait |
Документ будет создан в портретном формате. |
WebEngineView.Landscape |
Документ будет создан в альбомном формате. |
Этот свойство было введено в QtWebEngine 1.3.
См. также WebEngineView::printToPdf().
PrintedPageSizeId : перечисление
Это тип перечисления, который перечисляет доступные размеры страниц, определённые в стандарте Postscript PPD.
Значения перечисления отображаются из и должны соответствовать QPageSize::PageSizeId. Они также дублируются в QPagedPaintDevice и QPrinter.
Определённые размеры:
| Постоянная | Описание |
|---|---|
WebEngineView.A0 |
841 x 1189 мм |
WebEngineView.A1 |
594 x 841 мм |
WebEngineView.A2 |
420 x 594 мм |
WebEngineView.A3 |
297 x 420 мм |
WebEngineView.A4 |
210 x 297 мм, 8.26 x 11.69 дюймов |
WebEngineView.A5 |
148 x 210 мм |
WebEngineView.A6 |
105 x 148 мм |
WebEngineView.A7 |
74 x 105 мм |
WebEngineView.A8 |
52 x 74 мм |
WebEngineView.A9 |
37 x 52 мм |
WebEngineView.B0 |
1000 x 1414 мм |
WebEngineView.B1 |
707 x 1000 мм |
WebEngineView.B2 |
500 x 707 мм |
WebEngineView.B3 |
353 x 500 мм |
WebEngineView.B4 |
250 x 353 мм |
WebEngineView.B5 |
176 x 250 мм, 6.93 x 9.84 дюймов |
WebEngineView.B6 |
125 x 176 мм |
WebEngineView.B7 |
88 x 125 мм |
WebEngineView.B8 |
62 x 88 мм |
WebEngineView.B9 |
44 x 62 мм |
WebEngineView.B10 |
31 x 44 мм |
WebEngineView.C5E |
163 x 229 мм |
WebEngineView.Comm10E |
105 x 241 мм, обычный конверт США 10 |
WebEngineView.DLE |
110 x 220 мм |
WebEngineView.Executive |
7.5 x 10 дюймов, 190.5 x 254 мм |
WebEngineView.Folio |
210 x 330 мм |
WebEngineView.Ledger |
431.8 x 279.4 мм |
WebEngineView.Legal |
8.5 x 14 дюймов, 215.9 x 355.6 мм |
WebEngineView.Letter |
8.5 x 11 дюймов, 215.9 x 279.4 мм |
WebEngineView.Tabloid |
279.4 x 431.8 мм |
WebEngineView.Custom |
Неизвестно или размер, определённый пользователем. |
WebEngineView.A10 |
|
WebEngineView.A3Extra |
|
WebEngineView.A4Extra |
|
WebEngineView.A4Plus |
|
WebEngineView.A4Small |
|
WebEngineView.A5Extra |
|
WebEngineView.B5Extra |
|
WebEngineView.JisB0 |
|
WebEngineView.JisB1 |
|
WebEngineView.JisB2 |
|
WebEngineView.JisB3 |
|
WebEngineView.JisB4 |
|
WebEngineView.JisB5 |
|
WebEngineView.JisB6 |
|
WebEngineView.JisB7 |
|
WebEngineView.JisB8 |
|
WebEngineView.JisB9 |
|
WebEngineView.JisB10 |
|
WebEngineView.AnsiA |
= Letter |
WebEngineView.AnsiB |
= Ledger |
WebEngineView.AnsiC |
|
WebEngineView.AnsiD |
|
WebEngineView.AnsiE |
|
WebEngineView.LegalExtra |
|
WebEngineView.LetterExtra |
|
WebEngineView.LetterPlus |
|
WebEngineView.LetterSmall |
|
WebEngineView.TabloidExtra |
|
WebEngineView.ArchA |
|
WebEngineView.ArchB |
|
WebEngineView.ArchC |
|
WebEngineView.ArchD |
|
WebEngineView.ArchE |
|
WebEngineView.Imperial7x9 |
|
WebEngineView.Imperial8x10 |
|
WebEngineView.Imperial9x11 |
|
WebEngineView.Imperial9x12 |
|
WebEngineView.Imperial10x11 |
|
WebEngineView.Imperial10x13 |
|
WebEngineView.Imperial10x14 |
|
WebEngineView.Imperial12x11 |
|
WebEngineView.Imperial15x11 |
|
WebEngineView.ExecutiveStandard |
|
WebEngineView.Note |
|
WebEngineView.Quarto |
|
WebEngineView.Statement |
|
WebEngineView.SuperA |
|
WebEngineView.SuperB |
|
WebEngineView.Postcard |
|
WebEngineView.DoublePostcard |
|
WebEngineView.Prc16K |
|
WebEngineView.Prc32K |
|
WebEngineView.Prc32KBig |
|
WebEngineView.FanFoldUS |
|
WebEngineView.FanFoldGerman |
|
WebEngineView.FanFoldGermanLegal |
|
WebEngineView.EnvelopeB4 |
|
WebEngineView.EnvelopeB5 |
|
WebEngineView.EnvelopeB6 |
|
WebEngineView.EnvelopeC0 |
|
WebEngineView.EnvelopeC1 |
|
WebEngineView.EnvelopeC2 |
|
WebEngineView.EnvelopeC3 |
|
WebEngineView.EnvelopeC4 |
|
WebEngineView.EnvelopeC5 |
= C5E |
WebEngineView.EnvelopeC6 |
|
WebEngineView.EnvelopeC65 |
|
WebEngineView.EnvelopeC7 |
|
WebEngineView.EnvelopeDL |
= DLE |
WebEngineView.Envelope9 |
|
WebEngineView.Envelope10 |
= Comm10E |
WebEngineView.Envelope11 |
|
WebEngineView.Envelope12 |
|
WebEngineView.Envelope14 |
|
WebEngineView.EnvelopeMonarch |
|
WebEngineView.EnvelopePersonal |
|
WebEngineView.EnvelopeChou3 |
|
WebEngineView.EnvelopeChou4 |
|
WebEngineView.EnvelopeInvite |
|
WebEngineView.EnvelopeItalian |
|
WebEngineView.EnvelopeKaku2 |
|
WebEngineView.EnvelopeKaku3 |
|
WebEngineView.EnvelopePrc1 |
|
WebEngineView.EnvelopePrc2 |
|
WebEngineView.EnvelopePrc3 |
|
WebEngineView.EnvelopePrc4 |
|
WebEngineView.EnvelopePrc5 |
|
WebEngineView.EnvelopePrc6 |
|
WebEngineView.EnvelopePrc7 |
|
WebEngineView.EnvelopePrc8 |
|
WebEngineView.EnvelopePrc9 |
WebEngineView.EnvelopePrc10 |
|
WebEngineView.EnvelopeYou4 |
|
WebEngineView.LastPageSize |
= EnvelopeYou4
|
Это свойство было введено в QtWebEngine 1.3.
См. также WebEngineView::printToPdf().
RenderProcessTerminationStatus : перечисление
Описывает состояние, в котором завершился процесс отрисовки:
| Постоянная | Описание |
|---|---|
WebEngineView.NormalTerminationStatus |
Процесс отрисовки завершился нормально. |
WebEngineView.AbnormalTerminationStatus |
Процесс отрисовки завершился с ненулевым кодом возврата. |
WebEngineView.CrashedTerminationStatus |
Процесс отрисовки аварийно завершился, например, из-за ошибки сегментации. |
WebEngineView.KilledTerminationStatus |
Процесс отрисовки был завершен принудительно, например, с помощью SIGKILL или диспетчером задач. |
Это свойство было введено в QtWebEngine 1.2.
WebAction : перечисление
Описывает типы действий, которые можно выполнить на веб-странице:
| Постоянная | Описание |
|---|---|
WebEngineView.NoWebAction |
Действие не выполняется. |
WebEngineView.Back |
Переход назад в истории навигации по ссылкам. |
WebEngineView.Forward |
Переход вперед в истории навигации по ссылкам. |
WebEngineView.Stop |
Остановка загрузки текущей страницы. |
WebEngineView.Reload |
Перезагрузка текущей страницы. |
WebEngineView.ReloadAndBypassCache |
Перезагрузка текущей страницы без использования локального кэша. |
WebEngineView.Cut |
Вырезать выделенный контент в буфер обмена. |
WebEngineView.Copy |
Скопировать выделенный контент в буфер обмена. |
WebEngineView.Paste |
Вставить контент из буфера обмена. |
WebEngineView.Undo |
Отменить последнее действие редактирования. |
WebEngineView.Redo |
Повторить последнее действие редактирования. |
WebEngineView.SelectAll |
Выделить весь контент. |
WebEngineView.PasteAndMatchStyle |
Вставить контент из буфера обмена с текущим стилем. |
WebEngineView.OpenLinkInThisWindow |
Открыть текущую ссылку в текущем окне. (Добавлен в Qt 5.6) |
WebEngineView.OpenLinkInNewWindow |
Открыть текущую ссылку в новом окне. (Добавлен в Qt 5.6) |
WebEngineView.OpenLinkInNewTab |
Открыть текущую ссылку в новой вкладке. (Добавлен в Qt 5.6) |
WebEngineView.CopyLinkToClipboard |
Скопировать текущую ссылку в буфер обмена. (Добавлен в Qt 5.6) |
WebEngineView.CopyImageToClipboard |
Скопировать щелкнутое изображение в буфер обмена. (Добавлен в Qt 5.6) |
WebEngineView.CopyImageUrlToClipboard |
Скопировать URL щелкнутого изображения в буфер обмена. (Добавлен в Qt 5.6) |
WebEngineView.CopyMediaUrlToClipboard |
Скопировать URL наведённого курсором аудио- или видеоэлемента в буфер обмена. (Добавлен в Qt 5.6) |
WebEngineView.ToggleMediaControls |
Переключаться между отображением и скрытием элементов управления для наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6) |
WebEngineView.ToggleMediaLoop |
Переключить циклический показ наведённого курсором аудио- или видеоэлемента при завершении. (Добавлен в Qt 5.6) |
WebEngineView.ToggleMediaPlayPause |
Переключить состояние воспроизведения/паузы наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6) |
WebEngineView.ToggleMediaMute |
Выключить или включить звук наведённого курсором аудио- или видеоэлемента. (Добавлен в Qt 5.6) |
WebEngineView.DownloadLinkToDisk |
Скачать текущую ссылку на диск. Для реализации действий загрузки подключитесь к сигналу QWebEngineProfile::downloadRequested. (Добавлен в Qt 5.6) |
WebEngineView.DownloadImageToDisk |
Скачать выделенное изображение на диск. (Добавлен в Qt 5.6) |
WebEngineView.DownloadMediaToDisk |
Скачать наведённое курсором аудио- или видео на диск. (Добавлен в Qt 5.6) |
WebEngineView.InspectElement |
Запустить подключенный к странице инструмент Web Inspector для проверки выделенного элемента. (Добавлен в Qt 5.6) |
WebEngineView.ExitFullScreen |
Выход из полноэкранного режима. (Добавлен в Qt 5.6) |
WebEngineView.SavePage |
Сохранить текущую веб-страницу на диск. (Добавлен в Qt 5.7) |
WebEngineView.ViewSource |
Показать исходный код текущей страницы в новой вкладке. (Добавлен в Qt 5.8) |
WebEngineView.ToggleBold |
Переключает полужирное начертание выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.ToggleItalic |
Переключает курсив для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.ToggleUnderline |
Переключает подчёркивание для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.ToggleStrikethrough |
Переключает зачёркивание для выделенного фрагмента или курсора. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.AlignLeft |
Выравнивает строки, содержащие выделение или курсор, по левому краю. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.AlignCenter |
Выравнивает строки, содержащие выделение или курсор, по центру. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.AlignRight |
Выравнивает строки, содержащие выделение или курсор, по правому краю. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.AlignJustified |
Растягивает строки, содержащие выделение или курсор, так, чтобы каждая строка имела одинаковую ширину. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.Indent |
Отступает строки, содержащие выделение или курсор. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.Outdent |
Уменьшает отступ строк, содержащих выделение или курсор. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.InsertOrderedList |
Вставляет упорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
WebEngineView.InsertUnorderedList |
Вставляет неупорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлен в Qt 5.10) |
Это свойство было введено в QtWebEngine 1.2.
activeFocusOnPress : bool
Указывает, должен ли вид получать активный фокус при нажатии. Значение по умолчанию — true.
Это свойство было введено в QtWebEngine 1.2.
audioMuted : bool
Состояние, в котором звук текущей страницы выключен.
Это свойство было введено в QtWebEngine 1.3.
См. также recentlyAudible.
backgroundColor : bool
Изменяет цвет фона WebEngineView за телом документа. Может быть установлен в "transparent" или в полупрозрачный цвет для просвечивания документа или для соответствия веб-содержимому в гибридном приложении, чтобы предотвратить вспышки белого цвета, которые могут появляться во время загрузки.
Значение по умолчанию — белый.
Это свойство было введено в QtWebEngine 1.2.
[только для чтения] canGoBack : bool
Возвращает true, если существуют предыдущие записи истории сессии, false в противном случае.
[только для чтения] canGoForward : bool
Возвращает true, если существуют последующие записи истории сессии, false в противном случае.
contentsSize : размер
Размер содержимого страницы.
Это свойство было введено в QtWebEngine 1.3.
devToolsView : WebEngineView
Вид, в настоящее время отображающий инструменты разработчика для данного вида. Установка нового вида перенаправит этот вид на внутренний URL-адрес с инструментами разработчика и привяжет его к этому виду.
Это свойство было введено в QtWebEngine 1.7.
См. также inspectedView.
END_OF_DOCUMENT_MARKER[только чтение] icon : url
Внутренний URL для доступа к значку текущего отображаемого веб-сайта, также известному как значок закладки или значок быстрого доступа. Значок уже загружен и сохранен менеджером значков Qt WebEngine. Этот URL только для чтения соответствует изображению, используемому в приложении мобильного браузера для представления закладки на главном экране устройства.
Следующий фрагмент кода использует свойство icon для построения компонента Image:
Image {
id: appIcon
sourceSize: Qt.size(32, 32)
source: webView.icon != "" ? webView.icon : "fallbackFavicon.png";
// ...
} Указание свойства sourceSize элемента Image информирует поставщика значков Qt WebEngine о запрошенном размере. Поставщик значков пытается найти наилучшее соответствие среди кандидатов значков веб-страницы. Если свойство sourceSize не указано, поставщик предоставляет значок с наибольшим разрешением.
inspectedView : WebEngineView
Просматриваемый в данный момент вид, если таковой имеется. Установка этого свойства перенаправит на внутренний URL с инструментами разработчика, установленными в просматриваемом виде.
Рекомендуется сбросить это свойство, когда инструменты разработчика не видны; в противном случае некоторые отладочные данные могут появиться в просматриваемом WebEngineView.
Это свойство было добавлено в QtWebEngine 1.7.
См. также devToolsView.
[только чтение] isFullScreen : bool
Возвращает true, если веб-представление находится в полноэкранном режиме, false в противном случае.
Это свойство было добавлено в QtWebEngine 1.1.
См. также fullScreenRequested() и fullScreenCancelled().
[только чтение] loadProgress : int
Количество данных страницы, загруженное в процентах в диапазоне от 0 до 100.
[только чтение] loading : bool
Возвращает true, если HTML-страница в настоящее время загружается, false в противном случае.
[только чтение] navigationHistory : WebEngineHistory
История навигации текущего представления.
Это свойство было добавлено в QtWebEngine 1.1.
См. также WebEngineHistory.
profile : WebEngineProfile
Текущий профиль, используемый для представления.
Это свойство было добавлено в QtWebEngine 1.1.
См. также WebEngineProfile.
[только чтение] recentlyAudible : bool
Возвращает текущий состояние звукового воспроизведения страницы (звук недавно воспроизводился или нет).
Это свойство было добавлено в QtWebEngine 1.3.
См. также audioMuted и recentlyAudibleChanged.
scrollPosition : point
Положение скролла содержимого страницы.
Это свойство было добавлено в QtWebEngine 1.3.
[только чтение] settings : WebEngineSettings
Настройки, используемые этим представлением.
Это свойство было добавлено в QtWebEngine 1.1.
См. также WebEngineSettings.
[только чтение] title : string
Заголовок текущей отображаемой HTML-страницы. Это значение только для чтения, отражающее содержимое тега <title>.
url : url
Расположение текущей отображаемой HTML-страницы. Это изменяемое свойство предоставляет основной интерфейс для загрузки страницы в веб-представление. Оно работает так же, как и свойство window.location DOM.
См. также loadHtml().
[только чтение] userScripts : list<WebEngineScript>
Список объектов скриптов, присоединенных к представлению.
Это свойство было добавлено в QtWebEngine 1.1.
См. также WebEngineScript.
webChannel : QQmlWebChannel
Экземпляр веб-канала, используемого этим представлением. Этот канал автоматически использует внутренний механизм передачи QtWebEngine через Chromium IPC и доступен в контексте javascript страницы, которую он отображает, как qt.webChannelTransport. Этот объект передачи используется при создании JavaScript-аналога QWebChannel с помощью Qt WebChannel JavaScript API.
Примечание: Представление не берет на себя ответственность за назначенный объект webChannel.
Это свойство было добавлено в QtWebEngine 1.1.
webChannelWorld : int
JavaScript-мир, в котором установлен экземпляр веб-канала, используемого этим представлением. Мир должен быть числом в диапазоне от 0 до 256.
Это свойство было добавлено в QtWebEngine 1.3.
zoomFactor : real
Коэффициент масштабирования для представления. Допустимые значения находятся в диапазоне от 0.25 до 5.0. Значение по умолчанию равно 1.0.
Это свойство было добавлено в QtWebEngine 1.1.
Документация сигналов
activeFocusOnPressChanged(bool activeFocusOnPress)
Этот сигнал испускается, когда изменяется способность представления веб-движка получить фокус при нажатии.
Этот сигнал был добавлен в QtWebEngine 1.2.
См. также setActiveFocusOnPress().
audioMutedChanged(bool muted)
Этот сигнал испускается при (от)ключении звука страницы с помощью свойства audioMuted.
Примечание: Не следует путать с отключением звука конкретного HTML5 элемента аудио/видео.
Этот сигнал был добавлен в QtWebEngine 1.3.
См. также audioMuted и recentlyAudibleChanged.
authenticationDialogRequested(AuthenticationDialogRequest request)
Этот сигнал испускается, когда запрашивается диалог аутентификации.
Запрос можно обработать, используя методы типа AuthenticationDialogRequest.
Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. После этого необходимо вызвать либо AuthenticationDialogRequest::dialogAccept(), либо AuthenticationDialogRequest::dialogReject().
Этот сигнал был добавлен в QtWebEngine 1.4.
backgroundColorChanged()
Этот сигнал испускается при изменении цвета фона веб-движка.
Этот сигнал был добавлен в QtWebEngine 1.2.
certificateError(WebEngineCertificateError error)
Этот сигнал испускается при возникновении ошибки недействительного сертификата во время загрузки запроса.
Ошибка сертификата может быть обработана с помощью методов типа WebEngineCertificateError.
Этот сигнал был добавлен в QtWebEngine 1.1.
colorDialogRequested(ColorDialogRequest request)
Этот сигнал испускается при запросе диалога выбора цвета.
Запрос можно обработать, используя методы типа ColorDialogRequest.
Примечание: Обработчики сигналов должны вызвать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. После этого необходимо вызвать либо ColorDialogRequest::dialogAccept(), либо ColorDialogRequest::dialogReject().
Этот сигнал был добавлен в QtWebEngine 1.4.
contextMenuRequested(ContextMenuRequest request)
Этот сигнал испускается при запросе контекстного меню.
Запрос можно обработать, используя свойства типа ContextMenuRequest.
Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение контекстного меню по умолчанию.
Этот сигнал был представлен в QtWebEngine 1.4.
featurePermissionRequested(url securityOrigin, Feature feature)
Этот сигнал испускается, когда веб-сайт, идентифицированный по securityOrigin, запрашивает использование ресурса или устройства, идентифицированного по feature.
Этот сигнал был представлен в QtWebEngine 1.1.
См. также grantFeaturePermission().
fileDialogRequested(FileDialogRequest request)
Этот сигнал испускается, когда запрашивается диалог выбора файла.
Ошибки запроса можно обработать, используя методы типа FileDialogRequest.
Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Не забудьте вызвать либо FileDialogRequest::dialogAccept(), либо FileDialogRequest::dialogReject() после этого.
Этот сигнал был представлен в QtWebEngine 1.4.
fullScreenRequested(FullScreenRequest request)
Этот сигнал испускается, когда веб-страница запрашивает полноэкранный режим через JavaScript API.
Этот сигнал был представлен в QtWebEngine 1.1.
См. также isFullScreen.
geometryChangeRequested(rect geometry, rect frameGeometry)
Этот сигнал испускается всякий раз, когда документ хочет изменить положение и размер страницы на frameGeometry. Это может произойти, например, через JavaScript.
В то время как frameGeometry включает размер рамок, geometry исключает размер рамок.
Примечание: Свойства QML Window, относящиеся к геометрии, ожидают размер без учета декораций окна. Для правильной обработки этого сигнала необходимо использовать geometry.
onGeometryChangeRequested: {
window.x = geometry.x
window.y = geometry.y
window.width = geometry.width
window.height = geometry.height
} Этот сигнал был представлен в QtWebEngine 1.7.
javaScriptConsoleMessage(JavaScriptConsoleMessageLevel level, string message, int lineNumber, string sourceID)
Этот сигнал испускается, когда JavaScript-программа пытается вывести message в консоль веб-браузера.
Например, в случае ошибок вычислений исходный URL может быть предоставлен в sourceID, а также lineNumber.
level указывает на серьёзность события, вызвавшего сообщение, т. е. было ли это вызвано ошибкой или менее серьёзным событием.
Если обработчик не указан, просмотр запишет сообщения в js категорию логирования.
См. также Ведение журналов консоли.
javaScriptDialogRequested(JavaScriptDialogRequest request)
Этот сигнал испускается, когда запрашивается диалог JavaScript.
Запрос можно обработать, используя методы типа JavaScriptDialogRequest.
Примечание: Обработчики сигналов должны вызывать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Не забудьте вызвать либо JavaScriptDialogRequest::dialogAccept(), либо JavaScriptDialogRequest::dialogReject() после этого.
Этот сигнал был представлен в QtWebEngine 1.4.
linkHovered(url hoveredUrl)
В интерфейсе с мышью этот сигнал испускается, когда курсор мыши перемещается над ссылкой, что соответствует событию mouseover DOM. Это событие также может произойти в сенсорных интерфейсах для событий mouseover, которые не отменены с помощью preventDefault(). hoveredUrl предоставляет расположение ссылки.
loadingChanged(WebEngineLoadRequest loadRequest)
Этот сигнал испускается, когда загрузка страницы начинается, заканчивается или завершается с ошибкой.
При обработке сигнала с помощью onLoadingChanged доступны различные параметры только для чтения на объекте WebEngineLoadRequest, указанном в loadRequest.
См. также loading, LoadStatus и ErrorDomain.
navigationRequested(WebEngineNavigationRequest request)
Этот сигнал испускается при запросе навигации request.
newViewRequested(WebEngineNewViewRequest request)
Этот сигнал испускается, когда загрузка страницы запрошена в отдельном представлении веб-движка. Это может быть потому, что текущая страница явно запросила это через вызов JavaScript window.open, или потому, что пользователь щелкнул по ссылке, удерживая Shift, Ctrl или встроенную комбинацию, которая заставляет страницу открыться в новом окне.
Если этот сигнал не обработан, запрашиваемая загрузка завершится ошибкой.
Пример реализации:
QtObject {
id: windowParent
// Create the initial browsing windows and open the startup page.
Component.onCompleted: {
var firstWindow = windowComponent.createObject(windowParent);
firstWindow.webView.loadHtml('<input type="button" value="Click!" onclick="window.open("http://qt.io")">');
}
property Component windowComponent: Window {
// Destroy on close to release the Window's QML resources.
// Because it was created with a parent, it won't be garbage-collected.
onClosing: destroy()
visible: true
property WebEngineView webView: webView_
WebEngineView {
id: webView_
anchors.fill: parent
// Handle the signal. Dynamically create the window and
// use its WebEngineView as the destination of our request.
onNewViewRequested: function(request) {
var newWindow = windowComponent.createObject(windowParent);
request.openIn(newWindow.webView);
}
}
}
} Этот сигнал был представлен в QtWebEngine 1.1.
См. также NewViewDestination и WebEngine Quick Nano Browser.
pdfPrintingFinished(string filePath, bool success)
Этот сигнал испускается, когда завершается печать веб-страницы в файл PDF. filePath будет содержать путь, по которому был запрошен файл, и success будет true, если файл был успешно создан, и false в противном случае.
Этот сигнал был представлен в QtWebEngine 1.5.
См. также printToPdf().
quotaRequested(QuotaRequest request)
Этот сигнал испускается, когда веб-страница запрашивает более большой постоянный хранилище, чем текущее выделение приложения в API Файловой системы. Значение по умолчанию для квоты - 0 байт.
Этот сигнал был представлен в QtWebEngine 1.7.
См. также QuotaRequest.
recentlyAudibleChanged(bool recentlyAudible)
Этот сигнал испускается при изменении состояния воспроизводимости страницы из-за воспроизведения или остановки звука.
Примечание: Сигнал также испускается при изменении свойства audioMuted. Также, если звук приостановлен, этот сигнал испускается с приблизительной задержкой две секунды с момента приостановки звука.
Этот сигнал также испускается для аудио плагина Flash.
Если веб-страница содержит два видео, которые начинаются последовательно, этот сигнал испускается только один раз, для первого видео, которое воспроизводит звук. После того, как оба видео остановлены, сигнал испускается при последнем воспроизведенном звуке. Это означает, что сигнал испускается как при воспроизведении любого звука, так и когда всё полностью беззвучно на веб-странице, независимо от количества аудиопотоков.
Могут также возникать ложные испускания сигналов. Например, когда звук останавливается, этот сигнал испускается сначала со значением true, а затем со значением false. Кроме того, при воспроизведении звука сигнал испускается дважды со значением true.
Этот сигнал был представлен в QtWebEngine 1.3.
См. также recentlyAudible.
registerProtocolHandlerRequested(RegisterProtocolHandlerRequest request)
Этот сигнал испускается, когда веб-страница пытается зарегистрировать пользовательский протокол с помощью API registerProtocolHandler.
Этот сигнал был представлен в QtWebEngine 1.7.
См. также RegisterProtocolHandlerRequest.
renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)
Этот сигнал испускается, когда процесс отрисовки завершается с ненулевым кодом выхода. terminationStatus — это код завершения процесса, а exitCode — код состояния, с которым процесс завершился.
Этот сигнал был представлен в QtWebEngine 1.2.
См. также RenderProcessTerminationStatus.
wasRecentlyAudibleChanged(bool wasRecentlyAudible)
Этот сигнал испускается при изменении состояния воспроизводимости страницы из-за воспроизведения или остановки звука.
Примечание: Сигнал также испускается при вызове метода setAudioMuted. Кроме того, если аудио приостановлено, этот сигнал испускается с приблизительной задержкой в 2 секунды с момента приостановки аудио.
Этот сигнал был введён в QtWebEngine 1.3.
windowCloseRequested()
Этот сигнал испускается всякий раз, когда страница запрашивает закрытие окна веб-браузера, например, через вызов JavaScript window.close().
Этот сигнал был введён в QtWebEngine 1.2.
Документация по методам
void findText(string subString, FindFlags options, variant resultCallback)
Ищет указанную строку subString на странице, используя заданные options.
Чтобы очистить выделение при поиске, просто передайте пустую строку.
resultCallback должен принимать булевый параметр. Он будет вызван со значением true, если subString найдена; в противном случае значение callback будет false.
findText("Qt", WebEngineView.FindCaseSensitively, function(success) {
if (success)
console.log("Qt was found!");
}); Этот метод был введён в QtWebEngine 1.1.
void findText(string subString, FindFlags options)
Ищет указанную строку subString на странице, используя заданные options.
Чтобы очистить выделение при поиске, просто передайте пустую строку.
findText("Qt", WebEngineView.FindBackward | WebEngineView.FindCaseSensitively); Этот метод был введён в QtWebEngine 1.1.
void findText(string subString)
Ищет указанную строку subString на странице.
Чтобы очистить выделение при поиске, просто передайте пустую строку.
Этот метод был введён в QtWebEngine 1.1.
void fullScreenCancelled()
Немедленно устанавливает свойство isFullScreen в значение false. Его можно использовать для уведомления движка браузера о том, что система окон выводит приложение из полноэкранного режима.
ApplicationWindow {
onVisibilityChanged: {
if (webEngineView.isFullScreen && visibility != Window.FullScreen)
webEngineView.fullScreenCancelled()
}
WebEngineView {
id: webEngineView
// ...
}
} Этот метод был введён в QtWebEngine 1.1.
См. также isFullScreen и fullScreenRequested().
void goBack()
Перейти назад в истории сессии браузера, если это возможно. Эта функция эквивалентна методу window.history.back() DOM.
См. также canGoBack.
void goBackOrForward(int offset)
Если offset положительный, переходит вперёд на указанное количество страниц в истории текущей сессии. Если offset отрицательный, переходит назад. Если offset некорректный, страница не меняется.
Этот метод был введён в QtWebEngine 1.1.
См. также goBack() и goForward().
void goForward()
Перейти вперёд в истории сессии браузера, если это возможно. Эта функция эквивалентна методу window.history.forward() DOM.
void grantFeaturePermission(url securityOrigin, Feature feature, bool granted)
Устанавливает или снимает разрешение, в зависимости от granted, для веб-сайта, идентифицируемого securityOrigin, использовать feature.
Этот метод был введён в QtWebEngine 1.1.
См. также featurePermissionRequested().
void loadHtml(string html, url baseUrl)
Загружает указанный html как содержимое веб-представления.
Этот метод предлагает альтернативу более низкого уровня свойству url, которое ссылается на HTML-страницы через URL.
Внешние объекты, такие как таблицы стилей или изображения, на которые ссылается HTML-документ, должны быть расположены относительно baseUrl. Например, если html получен из http://www.example.com/documents/overview.html, которое является базовым URL, то изображение, на которое ссылается относительный URL diagram.png, должно быть расположено по адресу http://www.example.com/documents/diagram.png.
См. также url.
void printToPdf(variant resultCallback, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
Печатает текущее содержимое WebEngineView в PDF-документ и возвращает его в виде массива байтов. Размер документа определяется значением pageSizeId, а ориентация определяется с помощью orientation.
resultCallback должен принимать строковый параметр. Эта строка будет содержать данные документа при успешной печати и пустую строку в противном случае.
Если вы опустите pageSizeID, он по умолчанию будет A4. Если вы опустите orientation, он по умолчанию будет Portrait.
Этот метод был введён в QtWebEngine 1.3.
void printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
Печатает текущее содержимое WebEngineView в PDF-документ и сохраняет его по пути filePath. Размер документа определяется значением pageSizeId, а ориентация определяется с помощью orientation.
Этот метод отправляет асинхронный запрос на печать веб-страницы в PDF и возвращается немедленно. Чтобы быть проинформированным о результате запроса, подключитесь к сигналу pdfPrintingFinished().
Если вы опустите pageSizeID, он по умолчанию будет A4. Если вы опустите orientation, он по умолчанию будет Portrait.
Этот метод был введён в QtWebEngine 1.3.
См. также pdfPrintingFinished().
void reload()
Перезагружает текущую страницу. Эта функция эквивалентна методу window.location.reload() DOM.
См. также reloadAndBypassCache().
void reloadAndBypassCache()
Перезагружает текущую страницу, игнорируя кэшированное содержимое.
Этот метод был введён в QtWebEngine 1.1.
См. также reload().
void replaceMisspelledWord(const QString &replacement)
Заменяет текущее неверно написанное слово на replacement.
Этот метод был введён в QtWebEngine 1.3.
void runJavaScript(string script, variant callback)
Выполняет указанный script в содержимом веб-представления.
Параметр callback является необязательным. Если функция callback предоставлена, она будет вызвана после завершения выполнения скрипта.
runJavaScript("document.title", function(result) { console.log(result); }); Скрипт будет выполняться в той же среде, что и другие скрипты, являющиеся частью загруженного сайта.
Предупреждение: Не выполняйте длительные вычисления в функции callback, поскольку это может заблокировать отображение веб-содержимого.
См. WebEngineView::userScripts для альтернативного API вставки скриптов.
void setActiveFocusOnPress(bool arg)
Устанавливает активный фокус на щелкнутое веб-представление, если arg равен true. Установив его в значение false, веб-представление можно использовать для создания элемента пользовательского интерфейса, который не должен получать фокус. Это может быть полезно в гибридном пользовательском интерфейсе.
Этот метод был введён в QtWebEngine 1.2.
См. также activeFocusOnPressChanged и WebEngineSettings::focusOnNavigationEnabled.
void stop()
Останавливает загрузку текущей страницы.
void triggerWebAction(WebAction action)
Вызывает веб-действие action.
Этот метод был введён в QtWebEngine 1.2.
См. также WebAction.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtwebengine-webengineview.html