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