Тип QML WebEngineView
Элемент WebEngineView отображает веб-контент в приложении QML. Подробнее...
| Заявление об импорте: | import QtWebEngine 1.5 |
| С момента: | QtWebEngine 1.0 |
| Наследует: |
Свойства
- ErrorDomain : перечисление
- Feature : перечисление
- FindFlags : перечисление
- JavaScriptConsoleMessageLevel : перечисление
- LoadStatus : перечисление
- NewViewDestination : перечисление
- PrintedPageOrientation : перечисление
- PrintedPageSizeId : перечисление
- RenderProcessTerminationStatus : перечисление
- WebAction : перечисление
- activeFocusOnPress : bool
- audioMuted : bool
- backgroundColor : bool
- canGoBack : bool
- canGoForward : bool
- contentsSize : размер
- icon : url
- 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)
- formValidationMessageRequested(FormValidationMessageRequest request)
- fullScreenRequested(WebEngineFullScreenRequest request)
- 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)
- recentlyAudibleChanged(bool recentlyAudible)
- 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
Для отображения элемента web engine view, 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, и перемещаться по истории просмотров. Для загрузки 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: "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() генерируется, когда веб-страница делает запрос. Утилита типа WebEngineFullScreenRequest может использоваться для включения/выключения запросов на полноэкранный режим. Метод 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 |
Как устройства захвата звука, так и видео. |
См. также 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 |
В вкладке того же окна, без скрытия текущего отображаемого окна web engine. |
См. также WebEngineNewViewRequest.destination.
PrintedPageOrientation : перечисление
Описывает ориентацию PDF-документа, создаваемого из содержимого WebEngineView. Значения перечисления взяты из и должны соответствовать QPageLayout::Orientation.
| Константа | Описание |
|---|---|
WebEngineView.Portrait |
Документ будет создан в портретном формате. |
WebEngineView.Landscape |
Документ будет создан в альбомном формате. |
Это свойство QML было добавлено в 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
|
Это свойство QML было добавлено в QtWebEngine 1.3.
См. также WebEngineView::printToPdf().
RenderProcessTerminationStatus : перечисление
Описывает состояние, при котором завершился процесс отрисовки:
| Постоянная | Описание |
|---|---|
WebEngineView.NormalTerminationStatus |
Процесс отрисовки завершился нормально. |
WebEngineView.AbnormalTerminationStatus |
Процесс отрисовки завершился со статусом выхода, отличным от нуля. |
WebEngineView.CrashedTerminationStatus |
Процесс отрисовки аварийно завершился, например, из-за ошибки сегментации. |
WebEngineView.KilledTerminationStatus |
Процесс отрисовки был прерван, например, с помощью SIGKILL или диспетчером задач. |
Это свойство QML было добавлено в 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 |
Запустить прикрепленный веб-инспектор для проверки выделенного элемента. (Добавлена в Qt 5.6) |
WebEngineView.ExitFullScreen |
Выйти из полноэкранного режима. (Добавлена в Qt 5.6) |
WebEngineView.SavePage |
Сохранить текущую веб-страницу на диск. (Добавлена в Qt 5.7) |
WebEngineView.ViewSource |
Показать исходный код текущей страницы в новой вкладке. (Добавлена в Qt 5.8) |
Это свойство QML было добавлено в QtWebEngine 1.2.
activeFocusOnPress : bool
Указывает, следует ли представлению получать активный фокус при нажатии. Значение по умолчанию равно true.
Это свойство QML было добавлено в QtWebEngine 1.2.
audioMuted : bool
Состояние, определяющее, заглушен ли звук текущей страницы.
Это свойство QML было добавлено в QtWebEngine 1.3.
См. также recentlyAudible.
backgroundColor : bool
Изменяет цвет фона WebEngineView за содержимым тела документа. Может быть установлен в значение "transparent" или в полупрозрачный цвет, чтобы просмотреть содержимое документа или согласовать его с веб-содержимым в гибридном приложении, чтобы предотвратить вспышки белого цвета, которые могут появиться во время загрузки.
Значение по умолчанию — белый.
Это свойство QML было добавлено в QtWebEngine 1.2.
[только для чтения] canGoBack : bool
Возвращает true если существуют предыдущие записи истории сеанса, false в противном случае.
[только для чтения] canGoForward : bool
Возвращает true если существуют последующие записи истории сеанса, false в противном случае.
contentsSize : размер
Размер содержимого страницы.
Это свойство QML было добавлено в QtWebEngine 1.3.
[только для чтения] 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 не указано, поставщик предоставляет значок с наибольшим разрешением.
[только для чтения] isFullScreen : bool
Возвращает true если веб-представление находится в полноэкранном режиме, false в противном случае.
Это свойство QML было добавлено в QtWebEngine 1.1.
См. также fullScreenRequested() и fullScreenCancelled().
[только для чтения] loadProgress : int
Количество данных с загруженной страницы, выраженное в процентах целым числом в диапазоне от 0 до 100.
[только для чтения] loading : bool
Возвращает true если страница HTML загружается в данный момент, false в противном случае.
[только для чтения] navigationHistory : WebEngineHistory
История навигации текущего представления.
Это свойство QML было добавлено в QtWebEngine 1.1.
См. также WebEngineHistory.
profile : WebEngineProfile
Текущий профиль, используемый для представления.
Это свойство QML было добавлено в QtWebEngine 1.1.
См. также WebEngineProfile.
[только для чтения] recentlyAudible : bool
Возвращает текущее состояние воспроизведения звука (звук недавно воспроизводился или нет).
Это свойство QML было введено в QtWebEngine 1.3.
См. также audioMuted и recentlyAudibleChanged.
scrollPosition : point
Положение прокрутки содержимого страницы.
Это свойство QML было введено в QtWebEngine 1.3.
[только для чтения] settings : WebEngineSettings
Настройки, используемые этим представлением.
Это свойство QML было введено в QtWebEngine 1.1.
См. также WebEngineSettings.
[только для чтения] title : string
Заголовок текущей отображаемой HTML-страницы. Это значение только для чтения, которое отражает содержимое тега <title>.
url : url
Расположение текущей отображаемой HTML-страницы. Это изменяемое свойство предоставляет основной интерфейс для загрузки страницы в веб-представление. Оно работает так же, как свойство window.location DOM.
См. также loadHtml().
[только для чтения] userScripts : list<WebEngineScript>
Список объектов сценариев, присоединённых к представлению.
Это свойство QML было введено в QtWebEngine 1.1.
См. также WebEngineScript.
webChannel : QQmlWebChannel
Экземпляр веб-канала, используемый этим представлением. Этот канал автоматически использует внутренний механизм передачи QtWebEngine через IPC Chromium и экспонируется в контексте javascript страницы, которую он отображает, как qt.webChannelTransport. Этот объект передачи используется при создании JavaScript-аналога QWebChannel с помощью Qt WebChannel JavaScript API.
Примечание: Представление не берет на себя ответственность за назначенный объект webChannel.
Это свойство QML было введено в QtWebEngine 1.1.
webChannelWorld : int
JavaScript-мир, в котором установлен экземпляр веб-канала, используемый этим представлением.
Это свойство QML было введено в QtWebEngine 1.3.
zoomFactor : real
Коэффициент масштабирования для представления. Действительные значения находятся в диапазоне от 0.25 до 5.0. Значение по умолчанию равно 1.0.
Это свойство QML было введено в QtWebEngine 1.1.
Документация сигналов
activeFocusOnPressChanged(bool activeFocusOnPress)
Этот сигнал испускается при изменении возможности получения фокуса веб-движком при нажатии.
Этот сигнал QML был введен в QtWebEngine 1.2.
См. также setActiveFocusOnPress().
audioMutedChanged(bool muted)
Этот сигнал испускается при (от)глушении звука на странице с помощью свойства audioMuted.
Примечание: Не следует путать с отглушением конкретного элемента HTML5 аудио/видео.
Этот сигнал QML был введен в QtWebEngine 1.3.
См. также audioMuted и recentlyAudibleChanged.
authenticationDialogRequested(AuthenticationDialogRequest request)
Этот сигнал испускается при запросе диалога аутентификации.
Запрос можно обработать, используя методы типа AuthenticationDialogRequest.
Примечание: Обработчикам сигналов необходимо вызвать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Убедитесь, что впоследствии вызывается либо AuthenticationDialogRequest::dialogAccept(), либо AuthenticationDialogRequest::dialogReject().
Этот сигнал QML был введен в QtWebEngine 1.4.
backgroundColorChanged()
Этот сигнал испускается при изменении цвета фона веб-представления.
Этот сигнал QML был введен в QtWebEngine 1.2.
certificateError(WebEngineCertificateError error)
Этот сигнал испускается при возникновении ошибки недействительного сертификата во время загрузки данного запроса.
Ошибку сертификата можно обработать, используя методы типа WebEngineCertificateError.
Этот сигнал QML был введен в QtWebEngine 1.1.
colorDialogRequested(ColorDialogRequest request)
Этот сигнал испускается при запросе диалога выбора цвета.
Запрос можно обработать, используя методы типа ColorDialogRequest.
Примечание: Обработчикам сигналов необходимо вызвать request.accepted = true, чтобы предотвратить отображение диалога по умолчанию. Убедитесь, что впоследствии вызывается либо ColorDialogRequest::dialogAccept(), либо ColorDialogRequest::dialogReject().
Этот сигнал QML был введен в QtWebEngine 1.4.
contextMenuRequested(ContextMenuRequest request)
Этот сигнал испускается при запросе контекстного меню.
Запрос можно обработать, используя свойства типа ContextMenuRequest.
Примечание: Обработчикам сигналов необходимо вызвать request.accepted = true для предотвращения отображения контекстного меню по умолчанию.
Этот сигнал QML был введен в QtWebEngine 1.4.
featurePermissionRequested(url securityOrigin, Feature feature)
Этот сигнал испускается, когда веб-сайт, идентифицированный по securityOrigin, запрашивает использование ресурса или устройства, идентифицированного по feature.
Этот сигнал QML был введен в QtWebEngine 1.1.
См. также grantFeaturePermission().
fileDialogRequested(FileDialogRequest request)
Этот сигнал испускается при запросе диалога выбора файла.
Ошибка запроса может быть обработана с помощью методов типа FileDialogRequest.
Примечание: Обработчикам сигналов необходимо вызвать request.accepted = true для предотвращения отображения диалога по умолчанию. Убедитесь, что впоследствии вызывается либо FileDialogRequest::dialogAccept(), либо FileDialogRequest::dialogReject().
Этот сигнал QML был введен в QtWebEngine 1.4.
formValidationMessageRequested(FormValidationMessageRequest request)
Этот сигнал испускается при запросе сообщения валидации.
Запрос можно обработать, используя методы типа FormValidationMessageRequest.
Примечание: Обработчикам сигналов необходимо вызвать request.accepted = true для предотвращения отображения диалога по умолчанию.
Этот сигнал QML был введен в QtWebEngine 1.4.
fullScreenRequested(WebEngineFullScreenRequest request)
Этот сигнал испускается, когда веб-страница запрашивает полноэкранный режим через JavaScript API.
Этот сигнал QML был введен в QtWebEngine 1.1.
См. также isFullScreen.
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().
Этот QML-сигнал был представлен в 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);
}
}
}
} Этот QML-сигнал был представлен в QtWebEngine 1.1.
См. также NewViewDestination и WebEngine Quick Nano Browser.
pdfPrintingFinished(string filePath, bool success)
Этот сигнал испускается по завершении печати веб-страницы в файл PDF. filePath содержит путь, указанный для создания файла, и success будет true, если файл был успешно создан, и false, в противном случае.
Этот QML-сигнал был представлен в QtWebEngine 1.5.
См. также printToPdf().
recentlyAudibleChanged(bool recentlyAudible)
Этот сигнал испускается при изменении состояния воспроизведения звука на странице, из-за начала или остановки воспроизведения аудио.
Примечание: Сигнал также испускается при изменении свойства audioMuted. Также, если аудио приостановлено, этот сигнал испускается с приблизительной задержкой в две секунды с момента приостановки аудио.
Этот сигнал также испускается для аудио плагина Flash.
Если веб-страница содержит два видео, которые запускаются последовательно, этот сигнал испускается только один раз для первого видео, генерирующего звук. После остановки обоих видео, сигнал испускается после последнего сгенерированного звука. Это означает, что сигнал испускается как при генерации любого звука, так и когда на веб-странице полная тишина, независимо от количества аудиопотоков.
Также могут происходить ложные испускания сигналов. Например, когда звук останавливается, этот сигнал испускается сначала со значением true, а затем со значением false. Кроме того, когда аудио начинается, сигнал испускается дважды со значением true.
Этот QML-сигнал был представлен в QtWebEngine 1.3.
См. также recentlyAudible.
renderProcessTerminated(RenderProcessTerminationStatus terminationStatus, int exitCode)
Этот сигнал испускается, когда процесс отрисовки завершается с ненулевым кодом выхода. terminationStatus — это код завершения процесса, а exitCode — код состояния, с которым завершился процесс.
Этот QML-сигнал был представлен в QtWebEngine 1.2.
См. также RenderProcessTerminationStatus.
wasRecentlyAudibleChanged(bool wasRecentlyAudible)
Этот сигнал испускается при изменении состояния воспроизведения звука на странице, из-за начала или остановки воспроизведения аудио.
Примечание: Сигнал также испускается при вызове метода setAudioMuted. Также, если аудио приостановлено, этот сигнал испускается с приблизительной задержкой в 2 секунды с момента приостановки аудио.
Этот QML-сигнал был представлен в QtWebEngine 1.3.
windowCloseRequested()
Этот сигнал испускается всякий раз, когда страница запрашивает закрытие окна веб-браузера, например, через вызов JavaScript window.close().
Этот QML-сигнал был представлен в 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!");
}); Этот QML-метод был представлен в QtWebEngine 1.1.
void findText(string subString, FindFlags options)
Ищет указанную строку subString на странице с заданными options.
Для сброса выделения поиска просто передайте пустую строку.
findText("Qt", WebEngineView.FindBackward | WebEngineView.FindCaseSensitively); Этот QML-метод был представлен в QtWebEngine 1.1.
void findText(string subString)
Ищет указанную строку subString на странице.
Для сброса выделения поиска просто передайте пустую строку.
Этот QML-метод был представлен в QtWebEngine 1.1.
void fullScreenCancelled()
Немедленно устанавливает свойство isFullScreen в значение false. Его можно использовать для уведомления движка браузера, когда система оконного интерфейса вынуждает приложение выйти из полноэкранного режима.
ApplicationWindow {
onVisibilityChanged: {
if (webEngineView.isFullScreen && visibility != Window.FullScreen)
webEngineView.fullScreenCancelled()
}
WebEngineView {
id: webEngineView
// ...
}
} Этот QML-метод был представлен в QtWebEngine 1.1.
См. также isFullScreen и fullScreenRequested().
void goBack()
Перемещается назад в истории посещений браузера, если это возможно. Эта функция эквивалентна методу window.history.back() DOM.
См. также canGoBack.
void goBackOrForward(int offset)
Если offset положительное, перемещается вперед на указанное количество страниц в текущей истории посещений. Если отрицательное, перемещается назад. Если смещение недопустимо, страница не изменяется.
Этот QML-метод был представлен в QtWebEngine 1.1.
См. также goBack() и goForward().
void goForward()
Перемещается вперед в истории посещений браузера, если это возможно. Эта функция эквивалентна методу window.history.forward() DOM.
void grantFeaturePermission(url securityOrigin, Feature feature, bool granted)
Устанавливает или снимает разрешение, в зависимости от granted, для веб-сайта, идентифицированного securityOrigin, использовать feature.
Этот QML-метод был представлен в 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.
Этот метод QML был представлен в QtWebEngine 1.3.
void printToPdf(const string filePath, PrintedPageSizeId pageSizeId, PrintedPageOrientation orientation)
Печатает текущее содержимое WebEngineView в документ PDF и сохраняет его по пути filePath. Размер документа будет определён значением pageSizeId, а ориентация — с помощью orientation.
Этот метод отправляет асинхронный запрос для печати веб-страницы в PDF и возвращает немедленно. Чтобы узнать о результате запроса, подключитесь к сигналу pdfPrintingFinished().
Если вы опустите pageSizeID, оно будет по умолчанию A4. Если вы опустите orientation, оно будет по умолчанию Portrait.
Этот метод QML был представлен в QtWebEngine 1.3.
См. также pdfPrintingFinished().
void reload()
Перезагружает текущую страницу. Эта функция эквивалентна методу window.location.reload() DOM.
См. также reloadAndBypassCache().
void reloadAndBypassCache()
Перезагружает текущую страницу, игнорируя кешированное содержимое.
Этот метод QML был представлен в QtWebEngine 1.1.
См. также reload().
void replaceMisspelledWord(const QString &replacement)
Заменяет текущее слово с ошибкой на replacement.
Этот метод QML был представлен в QtWebEngine 1.3.
void runJavaScript(string script, variant callback)
Выполняет указанный script в содержимом веб-представления.
Параметр callback является необязательным. Если функция обратного вызова указана, она будет вызвана после завершения выполнения скрипта.
runJavaScript("document.title", function(result) { console.log(result); }); Скрипт будет выполняться в том же мире, что и другие скрипты, являющиеся частью загруженного сайта.
Предупреждение: Не выполняйте длительные операции в функции обратного вызова, так как это может заблокировать отрисовку веб-содержимого.
См. WebEngineView::userScripts для альтернативного API вставки скриптов.
void setActiveFocusOnPress(bool arg)
Устанавливает активный фокус на нажатие веб-движка, если arg равно true. Установив его в false, веб-движок можно использовать для создания UI-элемента, который не должен получать фокус. Это может быть полезно в гибридном пользовательском интерфейсе.
Этот метод QML был представлен в QtWebEngine 1.2.
См. также activeFocusOnPressChanged и WebEngineSettings::focusOnNavigationEnabled.
void stop()
Останавливает загрузку текущей страницы.
void triggerWebAction(WebAction action)
Вызывает веб-действие action.
Этот метод QML был представлен в QtWebEngine 1.2.
См. также WebAction.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtwebengine-webengineview.html