Класс QWebEnginePage
Класс QWebEnginePage предоставляет объект для просмотра и редактирования веб-документов. Подробнее...
| Заголовок: | #include <QWebEnginePage> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.4 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.4.
Общие типы
| Перечисление | Feature { Уведомления, Геолокация, Запись аудио, Запись видео, Запись аудио и видео, ..., Запись аудио с рабочего стола} |
| Перечисление | FileSelectionMode { Выбор файла для открытия, Выбор нескольких файлов для открытия} |
| Перечисление | FindFlag { Назад, С учетом регистра} |
| Флаги | FindFlags |
| Перечисление | JavaScriptConsoleMessageLevel { Уровень сообщений Info, Уровень сообщений Warning, Уровень сообщений Error} |
| Перечисление | LifecycleState { Активно, Заморожено, Утилизировано} |
| Перечисление | NavigationType { Переход по ссылке, Переход по вводу, Отправка формы, Назад/Вперед, Перезагрузка, ..., Другой} |
| Перечисление | PermissionPolicy { Неизвестно, Разрешено пользователем, Запрещено пользователем} |
| Перечисление | RenderProcessTerminationStatus { Обычный статус завершения, Аномальный статус завершения, Статус завершения из-за сбоя, Статус завершения из-за завершения} |
| Перечисление | WebAction { Нет действия, Назад, Вперед, Стоп, Перезагрузка, ..., Вставка неупорядоченного списка} |
| Перечисление | WebWindowType { Окно браузера, Вкладка браузера, Диалоговое окно, Фоновая вкладка браузера} |
Свойства
|
|
Общедоступные функции
| QWebEnginePage(QWebEngineProfile *profile, QObject *parent = Q_NULLPTR) | |
| QWebEnginePage(QObject *parent = Q_NULLPTR) | |
| virtual | ~QWebEnginePage() |
| QAction * | action(QWebEnginePage::WebAction action) const |
| QColor | backgroundColor() const |
| QSizeF | contentsSize() const |
| const QWebEngineContextMenuData & | contextMenuData() const |
| QMenu * | createStandardContextMenu() |
| QWebEnginePage * | devToolsPage() const |
| void | download(const QUrl &url, const QString &filename = QString()) |
| void | findText(const QString &subString, QWebEnginePage::FindFlags options = FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>()) |
| bool | hasSelection() const |
| QWebEngineHistory * | history() const |
| QIcon | icon() const |
| QUrl | iconUrl() const |
| QWebEnginePage * | inspectedPage() const |
| bool | isAudioMuted() const |
| bool | isVisible() const |
| QWebEnginePage::LifecycleState | lifecycleState() const |
| void | load(const QUrl &url) |
| void | load(const QWebEngineHttpRequest &request) |
| void | print(QPrinter *printer, const QWebEngineCallback<bool> &resultCallback) |
| void | printToPdf(const QString &filePath, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF())) |
| void | printToPdf(const QWebEngineCallback<const QByteArray &> &resultCallback, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF())) |
| QWebEngineProfile * | profile() const |
| bool | recentlyAudible() const |
| QWebEnginePage::LifecycleState | recommendedState() const |
| qint64 | renderProcessPid() const |
| void | replaceMisspelledWord(const QString &replacement) |
| QUrl | requestedUrl() const |
| void | runJavaScript(const QString &scriptSource) |
| void | runJavaScript(const QString &scriptSource, quint32 worldId) |
| void | runJavaScript(const QString &scriptSource, const QWebEngineCallback<const QVariant &> &resultCallback) |
| void | runJavaScript(const QString &scriptSource, quint32 worldId, const QWebEngineCallback<const QVariant &> &resultCallback) |
| void | save(const QString &filePath, QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const |
| QWebEngineScriptCollection & | scripts() |
| QPointF | scrollPosition() const |
| QString | selectedText() const |
| void | setAudioMuted(bool muted) |
| void | setBackgroundColor(const QColor &color) |
| void | setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl()) |
| void | setDevToolsPage(QWebEnginePage *devToolsPage) |
| void | setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy) |
| void | setHtml(const QString &html, const QUrl &baseUrl = QUrl()) |
| void | setInspectedPage(QWebEnginePage *page) |
| void | setLifecycleState(QWebEnginePage::LifecycleState state) |
| void | setUrl(const QUrl &url) |
| void | setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor) |
| void | setView(QWidget *view) |
| void | setVisible(bool visible) |
| void | setWebChannel(QWebChannel *channel, uint worldId) |
| void | setWebChannel(QWebChannel *channel) |
| void | setZoomFactor(qreal factor) |
| QWebEngineSettings * | settings() const |
| QString | title() const |
| void | toHtml(const QWebEngineCallback<const QString &> &resultCallback) const |
| void | toPlainText(const QWebEngineCallback<const QString &> &resultCallback) const |
| virtual void | triggerAction(QWebEnginePage::WebAction action, bool checked = false) |
| QUrl | url() const |
| QWidget * | view() const |
| QWebChannel * | webChannel() const |
| qreal | zoomFactor() const |
Реализованные публичные функции
| virtual bool | event(QEvent *e) override |
Сигналы
| void | audioMutedChanged(bool muted) |
| void | authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator) |
| void | contentsSizeChanged(const QSizeF &size) |
| void | featurePermissionRequestCanceled(const QUrl &securityOrigin, QWebEnginePage::Feature feature) |
| void | featurePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature) |
| void | findTextFinished(const QWebEngineFindTextResult &result) |
| void | fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest) |
| void | geometryChangeRequested(const QRect &geom) |
| void | iconChanged(const QIcon &icon) |
| void | iconUrlChanged(const QUrl &url) |
| void | lifecycleStateChanged(QWebEnginePage::LifecycleState state) |
| void | linkHovered(const QString &url) |
| void | loadFinished(bool ok) |
| void | loadProgress(int progress) |
| void | loadStarted() |
| void | pdfPrintingFinished(const QString &filePath, bool success) |
| void | printRequested() |
| void | proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost) |
| void | quotaRequested(QWebEngineQuotaRequest quotaRequest) |
| void | recentlyAudibleChanged(bool recentlyAudible) |
| void | recommendedStateChanged(QWebEnginePage::LifecycleState state) |
| void | registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request) |
| void | renderProcessPidChanged(qint64 pid) |
| void | renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode) |
| void | scrollPositionChanged(const QPointF &position) |
| void | selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection) |
| void | selectionChanged() |
| void | titleChanged(const QString &title) |
| void | urlChanged(const QUrl &url) |
| void | visibleChanged(bool visible) |
| void | windowCloseRequested() |
Защищённые функции
| virtual bool | acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame) |
| virtual bool | certificateError(const QWebEngineCertificateError &certificateError) |
| virtual QStringList | chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes) |
| virtual QWebEnginePage * | createWindow(QWebEnginePage::WebWindowType type) |
| virtual void | javaScriptAlert(const QUrl &securityOrigin, const QString &msg) |
| virtual bool | javaScriptConfirm(const QUrl &securityOrigin, const QString &msg) |
| virtual void | javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID) |
| virtual bool | javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result) |
Подробное описание
A web engine page содержит содержимое HTML-документа, историю навигации по ссылкам и действия.
API QWebEnginePage очень похож на QWebEngineView, поскольку вы по-прежнему получаете доступ к общим функциям, таким как action() (известная как pageAction() в QWebEngineView), triggerAction() и findText().
Страницу можно загрузить с помощью load() или setUrl(). В качестве альтернативы, если у вас есть HTML-контент, вы можете использовать setHtml(). Метод GET всегда используется для загрузки URL-адресов.
Класс QWebEnginePage также предоставляет методы для получения текущего URL-адреса загруженной страницы (см. url()), а также URL-адреса, первоначально запрошенного для загрузки (см. requestedUrl() ). Эти методы позволяют получить URL-адрес до и после разрешения DNS или перенаправления во время процесса загрузки. requestedUrl() также соответствует URL-адресу, добавленному в историю страницы (QWebEngineHistory), если загрузка выполняется успешно.
Заголовок HTML-страницы можно получить с помощью свойства title(). Кроме того, страница может также указывать значок, который можно получить с помощью icon() или его URL-адреса с помощью свойства iconUrl(). Если заголовок или значок изменяются, будут выпущены соответствующие сигналы titleChanged(), iconChanged() и iconUrlChanged(). Свойство zoomFactor() позволяет изменять масштаб содержимого веб-страницы.
Сигнал loadStarted() генерируется при начале загрузки страницы, а сигнал loadProgress() генерируется всякий раз, когда элемент веб-страницы завершает загрузку, например, встроенное изображение или скрипт. Сигнал loadFinished() генерируется, когда содержимое страницы загружено полностью, независимо от выполнения скрипта или рендеринга страницы. Его аргумент, либо true , либо false, указывает, успешно ли прошла операция загрузки.
HTML-документ загружается в основной фрейм на веб-странице. Если он ссылается на вложенные фреймы (как определены элементами <frame> или <iframe>), они считаются частью содержимого. Доступ к вложенным фреймам индивидуально возможен только через JavaScript.
Веб-сайты определяют безопасный источник для безопасного доступа друг к другу к ресурсам для клиентского скриптинга или баз данных. Источник состоит из имени хоста, схемы и номера порта. Например, сайты http://www.example.com/my/page.html и http://www.example.com/my/overview.html могут совместно использовать одну базу данных или обращаться друг к другу к документам, когда они используются в HTML-фреймсетах и JavaScript. В то же время http://www.malicious.com/evil.html не может получить доступ к ресурсам http://www.example.com/, так как они имеют различный безопасный источник. По умолчанию локальные схемы, такие как file:// и qrc://, считаются находящимися в одном безопасном источнике и могут получать доступ к ресурсам друг друга. Локальные ресурсы по умолчанию ограничены в доступе к удаленному содержимому, что означает, что file:// не сможет получить доступ к http://domain.com/foo.html.
Скрипты могут выполняться на веб-странице с помощью runJavaScript(), либо в основном JavaScript мире, вместе с остальным JavaScript, поступающим из веб-содержимого, либо в собственном изолированном мире. Хотя к DOM страницы можно получить доступ из любого мира, переменные JavaScript функции, определённой в одном мире, недоступны из другого. QWebEngineScript::ScriptWorldId предоставляет некоторые предопределённые идентификаторы для этой цели. Использование версии runJavaScript() без идентификатора мира эквивалентно выполнению скрипта в MainWorld.
Настройка FocusOnNavigationEnabled может использоваться для того, чтобы представление, связанное со страницей, автоматически получало фокус при выполнении операции навигации (например, при загрузке или перезагрузке страницы, или при навигации по истории).
Документация по типам элементов
перечисление QWebEnginePage::Feature
Это перечисление описывает категории доступа к функциям платформы, доступ к которым пользователь может быть попрошен предоставить или запретить:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEnginePage::Notifications |
0 |
Веб-уведомления для конечного пользователя. |
QWebEnginePage::Geolocation |
1 |
Расположение аппаратного или программного обеспечения. |
QWebEnginePage::MediaAudioCapture |
2 |
Устройства захвата аудио, такие как микрофоны. |
QWebEnginePage::MediaVideoCapture |
3 |
Устройства видеозахвата, такие как камеры. |
QWebEnginePage::MediaAudioVideoCapture |
4 |
Устройства захвата аудио и видео. |
QWebEnginePage::MouseLock |
5 |
Блокировка курсора мыши, которая блокирует указатель мыши в представлении веб-страницы и обычно используется в играх. |
QWebEnginePage::DesktopVideoCapture |
6 |
Захват видеовывода, то есть захват экрана пользователя, например, для совместного использования экрана. (Добавлен в Qt 5.10) |
QWebEnginePage::DesktopAudioVideoCapture |
7 |
Захват аудио и видеовывода. (Добавлен в Qt 5.10) |
См. также featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), и PermissionPolicy.
перечисление QWebEnginePage::FileSelectionMode
Это перечисление указывает, должна ли реализация функции chooseFiles() возвращать только один файл или может возвращать несколько файлов:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEnginePage::FileSelectOpen |
0 |
Возвращается только одно имя файла. |
QWebEnginePage::FileSelectOpenMultiple |
1 |
Возвращаются несколько имён файлов. |
См. также chooseFiles().
перечисление QWebEnginePage::FindFlagфлаги QWebEnginePage::FindFlags
Это перечисление описывает доступные параметры для функции findText(). Параметры могут быть объединены с помощью операции ИЛИ из следующего списка:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEnginePage::FindBackward |
1 |
Поиск выполняется в обратном направлении вместо прямого. |
QWebEnginePage::FindCaseSensitively |
2 |
По умолчанию findText() выполняется без учёта регистра. Указание этого параметра изменяет поведение на поиск с учётом регистра. |
Тип FindFlags является псевдонимом для QFlags<FindFlag>. Он хранит объединённое значение FindFlag с помощью операции ИЛИ.
перечисление QWebEnginePage::JavaScriptConsoleMessageLevel
Это перечисление описывает различные уровни серьезности сообщения JavaScript консоли:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEnginePage::InfoMessageLevel |
0 |
Сообщение чисто информационное и его можно безопасно игнорировать. |
QWebEnginePage::WarningMessageLevel |
1 |
Сообщение информирует о непредвиденном поведении или ошибках, которые могут потребовать внимания. |
QWebEnginePage::ErrorMessageLevel |
2 |
Сообщение указывает на ошибку. |
перечисление QWebEnginePage::LifecycleState
Это перечисление описывает состояние жизненного цикла страницы:
| Постоянная | Значение | Описание |
|---|---|---|
QWebEnginePage::LifecycleState::Active |
0 |
Нормальное состояние. |
QWebEnginePage::LifecycleState::Frozen |
1 |
Состояние низкого использования процессора, где большинство источников задач HTML приостановлены. |
QWebEnginePage::LifecycleState::Discarded |
2 |
Состояние очень низкого использования ресурсов, где весь контекст просмотра отбрасывается. |
Это перечисление было введено или изменено в Qt 5.14.
См. также lifecycleState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.
перечисление QWebEnginePage::NavigationType
Это перечисление описывает тип запроса навигации:
| Константа | Значение | Описание |
|---|---|---|
QWebEnginePage::NavigationTypeLinkClicked |
0 |
Запрос на навигацию произошёл вследствие нажатия на ссылку. |
QWebEnginePage::NavigationTypeTyped |
1 |
Запрос на навигацию произошёл вследствие явного загрузки URL. |
QWebEnginePage::NavigationTypeFormSubmitted |
2 |
Запрос на навигацию произошёл вследствие отправки формы. |
QWebEnginePage::NavigationTypeBackForward |
3 |
Запрос на навигацию произошёл вследствие действия «Назад» или «Вперёд». |
QWebEnginePage::NavigationTypeReload |
4 |
Запрос на навигацию произошёл вследствие действия «Перезагрузка». |
QWebEnginePage::NavigationTypeRedirect |
6 |
Запрос на навигацию произошёл вследствие перенаправления, контролируемого содержимым или сервером. Это также включает автоматические перезагрузки. (Добавлен в Qt 5.14) |
QWebEnginePage::NavigationTypeOther |
5 |
Запрос на навигацию был вызван другими средствами, не охваченными выше. |
См. также acceptNavigationRequest().
enum QWebEnginePage::PermissionPolicy
Этот перечисление описывает политики разрешения, которые пользователь может установить для доступа к данным или устройствам:
| Константа | Значение | Описание |
|---|---|---|
QWebEnginePage::PermissionUnknown |
0 |
Неизвестно, предоставил пользователь разрешение или отклонил. |
QWebEnginePage::PermissionGrantedByUser |
1 |
Пользователь предоставил разрешение. |
QWebEnginePage::PermissionDeniedByUser |
2 |
Пользователь отклонил разрешение. |
См. также featurePermissionRequested(), featurePermissionRequestCanceled(), setFeaturePermission(), и Feature.
enum QWebEnginePage::RenderProcessTerminationStatus
Это перечисление описывает состояние завершения процесса рендеринга:
| Константа | Значение | Описание |
|---|---|---|
QWebEnginePage::NormalTerminationStatus |
0 |
Процесс рендеринга завершился нормально. |
QWebEnginePage::AbnormalTerminationStatus |
1 |
Процесс рендеринга завершился с ненулевым кодом возврата. |
QWebEnginePage::CrashedTerminationStatus |
2 |
Процесс рендеринга аварийно завершился, например, из-за ошибки сегментации. |
QWebEnginePage::KilledTerminationStatus |
3 |
Процесс рендеринга был завершен принудительно, например, с помощью SIGKILL или диспетчера задач. |
Это перечисление было введено или изменено в Qt 5.6.
enum QWebEnginePage::WebAction
Это перечисление описывает типы действий, которые могут быть выполнены над веб-страницей.
Действия имеют эффект только тогда, когда они применимы.
Доступность действий можно определить, проверив isEnabled() на действии, возвращённом action().
| Константа | Значение | Описание |
|---|---|---|
QWebEnginePage::NoWebAction |
- 1 |
Действие не выполняется. |
QWebEnginePage::Back |
0 |
Переход назад в истории навигации по ссылкам. |
QWebEnginePage::Forward |
1 |
Переход вперёд в истории навигации по ссылкам. |
QWebEnginePage::Stop |
2 |
Остановить загрузку текущей страницы. |
QWebEnginePage::Reload |
3 |
Перезагрузить текущую страницу. |
QWebEnginePage::ReloadAndBypassCache |
10 |
Перезагрузить текущую страницу, но не использовать кэш. |
QWebEnginePage::Cut |
4 |
Вырезать выделенный контент в буфер обмена. |
QWebEnginePage::Copy |
5 |
Скопировать выделенный контент в буфер обмена. |
QWebEnginePage::Paste |
6 |
Вставить контент из буфера обмена. |
QWebEnginePage::Undo |
7 |
Отменить последнее действие редактирования. |
QWebEnginePage::Redo |
8 |
Повторить последнее действие редактирования. |
QWebEnginePage::SelectAll |
9 |
Выделить весь контент. Это действие разрешено только когда контент страницы сфокусирован. Фокус может быть принудительно задан с помощью вызова JavaScript window.focus(), или необходимо включить настройку FocusOnNavigationEnabled для автоматического фокуса. |
QWebEnginePage::PasteAndMatchStyle |
11 |
Вставить контент из буфера обмена с текущим стилем. |
QWebEnginePage::OpenLinkInThisWindow |
12 |
Открыть текущую ссылку в текущем окне. (Добавлена в Qt 5.6) |
QWebEnginePage::OpenLinkInNewWindow |
13 |
Открыть текущую ссылку в новом окне. Требуется реализация createWindow(). (Добавлена в Qt 5.6) |
QWebEnginePage::OpenLinkInNewTab |
14 |
Открыть текущую ссылку в новой вкладке. Требуется реализация createWindow(). (Добавлена в Qt 5.6) |
QWebEnginePage::OpenLinkInNewBackgroundTab |
31 |
Открыть текущую ссылку в новой фоновой вкладке. Требуется реализация createWindow(). (Добавлена в Qt 5.7) |
QWebEnginePage::CopyLinkToClipboard |
15 |
Скопировать текущую ссылку в буфер обмена. (Добавлена в Qt 5.6) |
QWebEnginePage::CopyImageToClipboard |
17 |
Скопировать нажатый на изображение в буфер обмена. (Добавлена в Qt 5.6) |
QWebEnginePage::CopyImageUrlToClipboard |
18 |
Скопировать URL нажатого изображения в буфер обмена. (Добавлена в Qt 5.6) |
QWebEnginePage::CopyMediaUrlToClipboard |
20 |
Скопировать URL наведённого курсором аудио или видео в буфер обмена. (Добавлена в Qt 5.6) |
QWebEnginePage::ToggleMediaControls |
21 |
Переключает отображение элементов управления наведённого курсором аудио или видео. (Добавлена в Qt 5.6) |
QWebEnginePage::ToggleMediaLoop |
22 |
Переключает циклическую воспроизведение наведённого курсором аудио или видео при окончании. (Добавлена в Qt 5.6) |
QWebEnginePage::ToggleMediaPlayPause |
23 |
Переключает состояние воспроизведения/паузы наведённого курсором аудио или видео. (Добавлена в Qt 5.6) |
QWebEnginePage::ToggleMediaMute |
24 |
Выключение/включение звука наведённого курсором аудио или видео. (Добавлена в Qt 5.6) |
QWebEnginePage::DownloadLinkToDisk |
16 |
Загрузить текущую ссылку на диск. Требуется слот для downloadRequested(). (Добавлена в Qt 5.6) |
QWebEnginePage::DownloadImageToDisk |
19 |
Загрузить выделенное изображение на диск. Требуется слот для downloadRequested(). (Добавлена в Qt 5.6) |
QWebEnginePage::DownloadMediaToDisk |
25 |
Загрузить наведённое курсором аудио или видео на диск. Требуется слот для downloadRequested(). (Добавлена в Qt 5.6) |
QWebEnginePage::InspectElement |
26 |
Запустить прикреплённый Веб-инспектор для проверки выделенного элемента. (Добавлена в Qt 5.6) |
QWebEnginePage::ExitFullScreen |
27 |
Выход из полноэкранного режима. (Добавлена в Qt 5.6) |
QWebEnginePage::RequestClose |
28 |
Запрос на закрытие веб-страницы. Если определён, вызывается обработчик window.onbeforeunload, и пользователь может подтвердить или отклонить закрытие страницы. Если запрос на закрытие подтверждён, испускается windowCloseRequested. (Добавлена в Qt 5.6) |
QWebEnginePage::Unselect |
29 |
Очистить текущее выделение. (Добавлена в Qt 5.7) |
QWebEnginePage::SavePage |
30 |
Сохранить текущую страницу на диск. MHTML — это формат по умолчанию для хранения веб-страницы на диске. Требуется слот для downloadRequested(). (Добавлена в Qt 5.7) |
QWebEnginePage::ViewSource |
32 |
Показать исходный код текущей страницы в новой вкладке. Требуется реализация createWindow(). (Добавлена в Qt 5.8) |
QWebEnginePage::ToggleBold |
33 |
Переключает полужирный шрифт для выделения или в позиции курсора. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::ToggleItalic |
34 |
Переключает курсив для выделения или в позиции курсора. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::ToggleUnderline |
35 |
Переключает подчеркивание для выделения или в позиции курсора. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::ToggleStrikethrough |
36 |
Переключает зачёркивание для выделения или в позиции курсора. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::AlignLeft |
37 |
Выравнивает строки, содержащие выделение или курсор, по левому краю. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::AlignCenter |
38 |
Выравнивает строки, содержащие выделение или курсор, по центру. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::AlignRight |
39 |
Выравнивает строки, содержащие выделение или курсор, по правому краю. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::AlignJustified |
40 |
Растягивает строки, содержащие выделение или курсор, чтобы каждая строка имела одинаковую ширину. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::Indent |
41 |
Отступы строк, содержащих выделение или курсор. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::Outdent |
42 |
Уменьшает отступы строк, содержащих выделение или курсор. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::InsertOrderedList |
43 |
Вставляет упорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
QWebEnginePage::InsertUnorderedList |
44 |
Вставляет неупорядоченный список в текущую позицию курсора, удаляя текущее выделение. Требуется contenteditable="true". (Добавлена в Qt 5.10) |
Перечисление QWebEnginePage::WebWindowType
Это перечисление описывает типы окон, которые могут быть созданы функцией createWindow():
| Константа | Значение | Описание |
|---|---|---|
QWebEnginePage::WebBrowserWindow |
0 |
Полное окно веб-браузера. |
QWebEnginePage::WebBrowserTab |
1 |
Вкладка веб-браузера. |
QWebEnginePage::WebDialog |
2 |
Окно без оформления. |
QWebEnginePage::WebBrowserBackgroundTab |
3 |
Вкладка веб-браузера без скрытия текущего видимого WebEngineView. (Добавлена в Qt 5.7) |
Документация свойств
audioMuted : bool
Это свойство содержит значение, указывающее, выключен ли звук текущей страницы.
Значение по умолчанию равно false.
Это свойство было введено в Qt 5.7.
Функции доступа:
| bool | isAudioMuted() const |
| void | setAudioMuted(bool muted) |
Сигнал уведомления:
| void | audioMutedChanged(bool muted) |
См. также recentlyAudible.
backgroundColor : QColor
Это свойство содержит цвет фона страницы за телом документа.
Вы можете установить цвет фона на Qt::transparent или на полупрозрачный цвет, чтобы видеть сквозь документ, или вы можете установить его в соответствии с вашим веб-контентом в гибридном приложении, чтобы предотвратить вспышки белого цвета, которые могут появляться во время загрузки.
Значение по умолчанию — белый.
Это свойство было введено в Qt 5.6.
Функции доступа:
| QColor | backgroundColor() const |
| void | setBackgroundColor(const QColor &color) |
contentsSize : const QSizeF
Это свойство содержит размер содержимого страницы.
Это свойство было введено в Qt 5.7.
Функции доступа:
| QSizeF | contentsSize() const |
Сигнал уведомления:
| void | contentsSizeChanged(const QSizeF &size) |
hasSelection : const bool
Это свойство содержит значение, указывающее, содержит ли эта страница выделенный контент.
Функции доступа:
| bool | hasSelection() const |
См. также selectionChanged().
icon : const QIcon
Это свойство содержит значок, связанный с текущей просматриваемой страницей.
По умолчанию это свойство содержит пустой значок. Если веб-страница указывает более одного значка, свойство icon инкапсулирует доступные кандидатские значки в едином, масштабируемом QIcon.
Это свойство было введено в Qt 5.7.
Функции доступа:
| QIcon | icon() const |
Сигнал уведомления:
| void | iconChanged(const QIcon &icon) |
См. также iconChanged(), iconUrl() и iconUrlChanged().
iconUrl : const QUrl
Это свойство содержит URL-адрес значка, связанного с текущей просматриваемой страницей.
По умолчанию это свойство содержит пустой URL.
Функции доступа:
| QUrl | iconUrl() const |
Сигнал уведомления:
| void | iconUrlChanged(const QUrl &url) |
См. также iconUrlChanged(), icon() и iconChanged().
lifecycleState : LifecycleState
Это свойство содержит текущее состояние жизненного цикла страницы.
Следующие ограничения применяются к установщику:
- Страница, которая отображается, должна оставаться в состоянии
Active. - Если страница проверяется с помощью devToolsPage, обе страницы должны оставаться в состояниях
Active. - Страница в состоянии
Discardedможет перейти только в состояниеActive. Это приведет к перезагрузке страницы.
Это единственные жесткие ограничения на состояние жизненного цикла, но см. также recommendedState для рекомендуемых мягких ограничений.
Это свойство было введено в Qt 5.14.
Функции доступа:
| QWebEnginePage::LifecycleState | lifecycleState() const |
| void | setLifecycleState(QWebEnginePage::LifecycleState state) |
Сигнал уведомления:
| void | lifecycleStateChanged(QWebEnginePage::LifecycleState state) |
См. также recommendedState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.
recentlyAudible : const bool
Это свойство содержит текущее состояние воспроизведения аудио страницы, то есть, воспроизводился ли звук недавно или нет.
Значение по умолчанию равно false.
Это свойство было введено в Qt 5.7.
Функции доступа:
| bool | recentlyAudible() const |
Сигнал уведомления:
| void | recentlyAudibleChanged(bool recentlyAudible) |
См. также audioMuted.
recommendedState : const LifecycleState
Это свойство содержит рекомендуемое ограничение для состояния жизненного цикла страницы.
Установка состояния жизненного цикла на более низкое состояние использования ресурсов, чем рекомендованное, может вызвать побочные эффекты, такие как остановка воспроизведения фонового аудио или потеря ввода данных HTML-формы. Однако установка состояния жизненного цикла на более высокое состояние использования ресурсов абсолютно безопасна.
Это свойство было введено в Qt 5.14.
Функции доступа:
| QWebEnginePage::LifecycleState | recommendedState() const |
Сигнал уведомления:
| void | recommendedStateChanged(QWebEnginePage::LifecycleState state) |
См. также lifecycleState, API жизненного цикла страницы и Пример жизненного цикла WebEngine.
renderProcessPid : const qint64
Это свойство содержит идентификатор процесса (PID) процесса отрисовки, назначенного главному фрейму текущей страницы.
Если процесс отрисовки еще недоступен, возвращается 0.
Это свойство было введено в Qt 5.15.
Функции доступа:
| qint64 | renderProcessPid() const |
Сигнал уведомления:
| void | renderProcessPidChanged(qint64 pid) |
requestedUrl : const QUrl
Это свойство содержит URL-адрес, который изначально был запрошен для загрузки страницы, которая сейчас отображается.
Примечание: URL-адрес может отличаться от URL-адреса, возвращаемого url(), который представляет собой фактический URL-адрес, полученный в результате разрешения DNS или перенаправления.
Функции доступа:
| QUrl | requestedUrl() const |
scrollPosition : const QPointF
Это свойство содержит положение полосы прокрутки содержимого страницы.
Это свойство было введено в Qt 5.7.
Функции доступа:
| QPointF | scrollPosition() const |
Сигнал уведомления:
| void | scrollPositionChanged(const QPointF &position) |
selectedText : const QString
Это свойство содержит текст, который в данный момент выбран.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | selectedText() const |
См. также selectionChanged().
title : const QString
Это свойство содержит заголовок страницы, определённый элементом HTML <title>.
Если у страницы нет элемента <title>, используется URL. Для file:// URL используется только имя файла, а не полный путь.
По умолчанию, до загрузки любого содержимого, это свойство содержит пустую строку.
Функции доступа:
| QString | title() const |
См. также titleChanged().
url : QUrl
Это свойство содержит URL-адрес текущей просматриваемой страницы.
Установка этого свойства очищает представление и загружает URL.
По умолчанию это свойство содержит пустой, недействительный URL.
Функции доступа:
| QUrl | url() const |
| void | setUrl(const QUrl &url) |
См. также urlChanged().
visible : bool
Это свойство указывает, считается ли страница видимой в API Page Visibility.
Установка этого свойства изменяет свойства Document.hidden и Document.visibilityState в JavaScript, которые веб-сайты могут использовать для произвольного уменьшения использования ресурсов, если они не видны пользователю.
Если страница подключена к view, это свойство будет управляться автоматически представлением в соответствии с его собственным видимым состоянием.
Это свойство было введено в Qt 5.14.
Функции доступа:
| bool | isVisible() const |
| void | setVisible(bool visible) |
Сигнал уведомления:
| void | visibleChanged(bool visible) |
См. также lifecycleState.
zoomFactor : qreal
Это свойство содержит коэффициент масштабирования для содержимого страницы.
Допустимые значения находятся в диапазоне от 0.25 до 5.0. Значение по умолчанию равно 1.0.
Функции доступа:
| qreal | zoomFactor() const |
| void | setZoomFactor(qreal factor) |
Документация по функциям-членам
void QWebEnginePage::runJavaScript(const QString &scriptSource)
void QWebEnginePage::runJavaScript(const QString &scriptSource, const QWebEngineCallback<const QVariant &> &resultCallback)
void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId)
void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId, const QWebEngineCallback<const QVariant &> &resultCallback)
Выполняет JavaScript-код, содержащийся в scriptSource, не проверяя, был ли построен DOM страницы. Если вам нужен больший контроль над тем, как выполняется скрипт, используйте вместо этого scripts()
Для предотвращения конфликтов с другими скриптами, выполняемыми на странице, указывается мир, в котором будет выполняться скрипт, используя worldId. Значения идентификаторов мира совпадают со значениями, предоставляемыми QWebEngineScript::ScriptWorldId, и лежат в диапазоне от 0 до 256. Если вы опустите идентификатор world, скрипт будет выполнен в MainWorld.
После выполнения скрипта, resultCallback вызывается с результатом последнего выполненного оператора. resultCallback может быть указателем на функцию, функтором или лямбда-выражением, и ожидается, что он примет параметр QVariant. Например:
page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); }); В качестве результата от JavaScript могут быть возвращены только простые данные. Поддерживаемые типы данных включают все типы данных JSON, а также, например, Date и ArrayBuffer.
Неподдерживаемые типы данных включают, например, Function и Promise.
Предупреждение: Не выполняйте длительные вычисления в функции обратного вызова, так как это может заблокировать отрисовку страницы веб-движка.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и не безопасно использовать соответствующий экземпляр QWebEnginePage или QWebEngineView внутри него.
Эта функция была введена в Qt 5.7.
См. также scripts(), QWebEngineScript::ScriptWorldId и Вставка скриптов.
QWebEnginePage::QWebEnginePage(QWebEngineProfile *profile, QObject *parent = Q_NULLPTR)
Создает пустую страницу веб-движка в профиле веб-движка profile с родителем parent.
Если профиль не является профилем по умолчанию, вызывающая сторона должна убедиться, что профиль остается активным до тех пор, пока страница существует.
Эта функция была введена в Qt 5.5.
QWebEnginePage::QWebEnginePage(QObject *parent = Q_NULLPTR)
Создает пустую страницу QWebEnginePage с родителем parent.
[signal] void QWebEnginePage::audioMutedChanged(bool muted)
Этот сигнал испускается, когда состояние muted страницы изменяется.
Примечание: Не следует путать с приглушением конкретного элемента HTML5 audio или video.
Примечание: Сигнал уведомления для свойства audioMuted.
Эта функция была введена в Qt 5.7.
[signal] void QWebEnginePage::authenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator)
Этот сигнал испускается, когда доступ к requestUrl требует аутентификации. authenticator следует использовать для передачи имени пользователя и пароля для подключения.
[signal] void QWebEnginePage::featurePermissionRequestCanceled(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
Этот сигнал испускается, когда веб-сайт, идентифицируемый по securityOrigin, отменяет ранее выданную заявку на использование ресурса или устройства, идентифицируемого по feature.
См. также featurePermissionRequested() и setFeaturePermission().
[signal] void QWebEnginePage::featurePermissionRequested(const QUrl &securityOrigin, QWebEnginePage::Feature feature)
Этот сигнал испускается, когда веб-сайт, идентифицируемый по securityOrigin, запрашивает доступ к ресурсу или устройству, определённому по feature.
См. также featurePermissionRequestCanceled() и setFeaturePermission().
[signal] void QWebEnginePage::findTextFinished(const QWebEngineFindTextResult &result)
Этот сигнал генерируется, когда завершается поиск строки на странице. result содержит результат поиска.
Данная функция была добавлена в Qt 5.14.
См. также findText().
[signal] void QWebEnginePage::fullScreenRequested(QWebEngineFullScreenRequest fullScreenRequest)
Этот сигнал генерируется, когда веб-страница запрашивает переход в полноэкранный режим для веб-элемента, обычно для видеоэлемента.
Объект запроса fullScreenRequest может быть использован для принятия или отклонения запроса.
Если запрос принят, запрашивающий элемент заполнит область просмотра, но приложение должно самостоятельно перевести отображение в полноэкранный режим или переместить страницу в полноэкранное отображение.
См. также QWebEngineSettings::FullScreenSupportEnabled.
[signal] void QWebEnginePage::geometryChangeRequested(const QRect &geom)
Этот сигнал генерируется всякий раз, когда документ хочет изменить положение и размер страницы на geom. Это может произойти, например, через JavaScript.
Примечание: setGeometry() ожидает размера без учета декораций окна, в то время как geom включает их. Для правильной обработки этого сигнала необходимо вычесть размер рамочных отступов из geom.
window->setGeometry(geom.marginsRemoved(window->frameMargins()));
[signal] void QWebEnginePage::iconChanged(const QIcon &icon)
Этот сигнал генерируется при изменении значка ("favicon") страницы. Новый значок задан в icon.
Примечание: Сигнал-уведомление для свойства icon.
Данная функция была добавлена в Qt 5.7.
См. также icon(), iconUrl() и iconUrlChanged().
[signal] void QWebEnginePage::iconUrlChanged(const QUrl &url)
Этот сигнал генерируется при изменении URL-адреса значка ("favicon") страницы. Новый URL задан в url.
Примечание: Сигнал-уведомление для свойства iconUrl.
См. также iconUrl(), icon() и iconChanged().
[signal] void QWebEnginePage::linkHovered(const QString &url)
Этот сигнал генерируется при наведении курсора мыши на ссылку. url содержит целевой URL ссылки.
[signal] void QWebEnginePage::loadFinished(bool ok)
Этот сигнал генерируется, когда загрузка содержимого страницы завершается. Этот сигнал независим от выполнения сценариев или отрисовки страницы. ok указывает, была ли загрузка успешной или произошла ошибка.
Примечание: Запросы навигации могут быть делегированы приложению Qt вместо обработки движком HTML-обработчика путём перегрузки функции acceptNavigationRequest(). Поскольку процесс загрузки запускается и сигнал loadStarted() генерируется до принятия или отклонения запроса, можно ожидать loadFinished() сигнала, возвращающего false, даже после делегирования запроса.
См. также loadStarted() и acceptNavigationRequest().
[signal] void QWebEnginePage::loadProgress(int progress)
Этот сигнал генерируется при изменении общего статуса прогресса. Текущее значение предоставляется в progress и масштабируется от 0 до 100, что соответствует стандартному диапазону QProgressBar. Он накапливает изменения от всех дочерних фреймов.
[signal] void QWebEnginePage::loadStarted()
Этот сигнал генерируется при начале загрузки содержимого страницы.
См. также loadFinished() и acceptNavigationRequest().
[signal] void QWebEnginePage::pdfPrintingFinished(const QString &filePath, bool success)
Этот сигнал генерируется после завершения печати веб-страницы в PDF-файл. filePath содержит путь к файлу, и success будет true, если файл успешно создан, и false в противном случае.
Данная функция была добавлена в Qt 5.9.
См. также printToPdf().
[signal] void QWebEnginePage::printRequested()
Этот сигнал генерируется при вызове JavaScript-метода window.print(). Обычно обработчик сигнала может просто вызвать printToPdf().
Данная функция была добавлена в Qt 5.12.
См. также printToPdf().
[signal] void QWebEnginePage::proxyAuthenticationRequired(const QUrl &requestUrl, QAuthenticator *authenticator, const QString &proxyHost)
Этот сигнал генерируется, когда доступ к requestUrl через proxyHost требует аутентификации для прокси-сервера. authenticator должен использоваться для передачи имени пользователя и пароля для подключения.
[signal] void QWebEnginePage::quotaRequested(QWebEngineQuotaRequest quotaRequest)
Этот сигнал генерируется, когда веб-страница запрашивает больший объём постоянного хранилища, чем текущее выделение приложения в API файловой системы. Значение по умолчанию — 0 байт.
Объект запроса quotaRequest может быть использован для принятия или отклонения запроса.
Данная функция была добавлена в Qt 5.11.
[signal] void QWebEnginePage::recentlyAudibleChanged(bool recentlyAudible)
Этот сигнал генерируется при изменении состояния звучания страницы, recentlyAudible, например, из-за воспроизведения или остановки звука.
Примечание: Сигнал также генерируется при вызове метода setAudioMuted(). Кроме того, если звук приостановлен, этот сигнал генерируется с приблизительной задержкой две секунды от момента приостановки звука.
Примечание: Сигнал-уведомление для свойства recentlyAudible.
Данная функция была добавлена в Qt 5.7.
[signal] void QWebEnginePage::registerProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
Этот сигнал генерируется, когда веб-страница пытается зарегистрировать пользовательский протокол с помощью API registerProtocolHandler.
Объект запроса request может быть использован для принятия или отклонения запроса:
void WebPage::handleRegisterProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
{
auto answer = QMessageBox::question(
view()->window(),
tr("Permission Request"),
tr("Allow %1 to open all %2 links?")
.arg(request.origin().host())
.arg(request.scheme()));
if (answer == QMessageBox::Yes)
request.accept();
else
request.reject();
} Данная функция была добавлена в Qt 5.11.
[signal] void QWebEnginePage::renderProcessPidChanged(qint64 pid)
Этот сигнал генерируется при изменении PID подлежащего процесса отрисовки, renderProcessPid.
Примечание: Сигнал-уведомление для свойства renderProcessPid.
Данная функция была добавлена в Qt 5.15.
[signal] void QWebEnginePage::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
Этот сигнал генерируется, когда процесс отрисовки завершается с ненулевым кодом выхода. terminationStatus — это статус завершения процесса, а exitCode — код завершения процесса.
Данная функция была добавлена в Qt 5.6.
[signal] void QWebEnginePage::selectClientCertificate(QWebEngineClientCertificateSelection clientCertificateSelection)
Этот сигнал генерируется, когда веб-сайт запрашивает сертификат SSL клиента, и один или несколько были найдены в хранилище сертификатов клиента системы.
Обработка сигнала является асинхронной, и загрузка будет ожидать, пока сертификат не будет выбран или не будет уничтожена последняя копия clientCertificateSelection.
Если сигнал не обрабатывается, clientCertificateSelection автоматически уничтожается, и загрузка продолжается без сертификата клиента.
Данная функция была добавлена в Qt 5.12.
См. также QWebEngineClientCertificateSelection.
[signal] void QWebEnginePage::selectionChanged()
Этот сигнал испускается всякий раз, когда выделение изменяется, либо интерактивно, либо программно. Например, вызвав triggerAction() с действием выделения.
Примечание: При выделении текста мышью (левым кликом и перетаскиванием), сигнал будет испускаться для каждого нового выбранного символа, а не при отпускании левой кнопки мыши.
См. также selectedText().
[signal] void QWebEnginePage::titleChanged(const QString &title)
Этот сигнал испускается всякий раз, когда заголовок страницы изменяется. Строка title указывает новый заголовок.
См. также title().
[signal] void QWebEnginePage::urlChanged(const QUrl &url)
Этот сигнал испускается с URL страницы, когда получен заголовок страницы. Новый URL задается параметром url.
См. также url().
[signal] void QWebEnginePage::windowCloseRequested()
Этот сигнал испускается всякий раз, когда страница запрашивает закрытие окна веб-браузера, например, через вызов JavaScript window.close().
См. также RequestClose.
[virtual] QWebEnginePage::~QWebEnginePage()
Уничтожает веб-страницу.
[virtual protected] bool QWebEnginePage::acceptNavigationRequest(const QUrl &url, QWebEnginePage::NavigationType type, bool isMainFrame)
Этот метод вызывается при получении запроса перехода на указанный URL url с помощью указанного типа навигации type. isMainFrame указывает, соответствует ли запрос главному фрейму или дочернему фрейму. Если метод возвращает true, запрос на навигацию принимается, и url загружается. По умолчанию все запросы навигации принимаются.
Запросы на навигацию могут быть делегированы приложению Qt вместо обработки движком HTML-обработчика, переопределив этот метод. Это необходимо, когда HTML-документ используется в качестве части пользовательского интерфейса, а не для отображения внешних данных, например, при отображении списка результатов.
Примечание: Процесс загрузки запускается, и сигнал loadStarted() испускается до принятия или отклонения запроса. Поэтому ожидается сигнал loadFinished(), который возвращает false, даже после делегирования запроса.
Примечание: При использовании setHtml или setContent с относительными ссылками, убедитесь, что указан базовый URL, иначе ссылки будут считаться некорректными, и запросы на навигацию не будут испускаться.
Класс QWebEngineUrlRequestInterceptor предоставляет дополнительные возможности для перехвата и изменения запросов.
Этот метод был введен в Qt 5.5.
QAction *QWebEnginePage::action(QWebEnginePage::WebAction action) const
Возвращает QAction для указанного действия WebAction action.
Действие принадлежит QWebEnginePage, но вы можете настроить его внешний вид, изменив его свойства.
QWebEnginePage также отвечает за выполнение действия, поэтому при его срабатывании соответствующее действие выполняется на странице.
См. также triggerAction().
[virtual protected] bool QWebEnginePage::certificateError(const QWebEngineCertificateError &certificateError)
Этот метод вызывается, когда возникает ошибка недопустимого сертификата при загрузке данного запроса.
Параметр certificateError содержит информацию о сертификате и подробности ошибки.
Возвращение true игнорирует ошибку и завершает запрос. Возвращение false останавливает загрузку запроса.
Примечание: Если ошибка была успешно отложена, то возвращаемое значение будет проигнорировано.
См. также QWebEngineCertificateError.
[virtual protected] QStringList QWebEnginePage::chooseFiles(QWebEnginePage::FileSelectionMode mode, const QStringList &oldFiles, const QStringList &acceptedMimeTypes)
Этот метод вызывается, когда веб-контент запрашивает имя файла, например, в результате нажатия пользователем кнопки загрузки файла в HTML-форме.
mode указывает, ожидается ли возврат только одного файла или нескольких файлов.
Предлагаемое имя файла может быть предоставлено в качестве первого элемента в oldFiles. acceptedMimeTypes игнорируется реализацией по умолчанию, но может использоваться переопределениями.
const QWebEngineContextMenuData &QWebEnginePage::contextMenuData() const
Возвращает дополнительные данные о текущем контекстном меню. Оно гарантированно является допустимым только во время вызова обработчика QWebEngineView::contextMenuEvent() связанного QWebEngineView.
Этот метод был введен в Qt 5.7.
См. также createStandardContextMenu().
QMenu *QWebEnginePage::createStandardContextMenu()
Создает стандартное контекстное меню, которое отображается, когда пользователь щелкает правой кнопкой мыши на веб-странице. Вызывается из обработчика contextMenuEvent() по умолчанию. Владение контекстным меню передается вызывающему методу.
Возвращает nullptr, если данные контекстного меню не инициализированы, например, когда оно вызвано, когда фактически не запрашивается контекстное меню.
[virtual protected] QWebEnginePage *QWebEnginePage::createWindow(QWebEnginePage::WebWindowType type)
Этот метод вызывается для создания нового окна указанного типа type. Например, когда программа JavaScript запрашивает открыть документ в новом окне.
Если новое окно может быть создано, возвращается QWebEnginePage нового окна; в противном случае возвращается указатель null.
Если представление, связанное со страницей веб-документа, является объектом QWebEngineView, то реализация по умолчанию перенаправляет запрос в QWebEngineView::createWindow; в противном случае возвращает указатель null.
Примечание: В случаях, когда создание окна инициируется JavaScript, помимо переопределения этого метода, приложение должно установить QWebEngineSettings::JavascriptCanOpenWindows в значение true, чтобы метод был вызван.
См. также QWebEngineView::createWindow().
QWebEnginePage *QWebEnginePage::devToolsPage() const
Возвращает страницу, на которой размещены инструменты разработчика для этой страницы, если таковые имеются.
Возвращает nullptr, если страница инструментов разработчика не задана.
Этот метод был введен в Qt 5.11.
См. также setDevToolsPage() и inspectedPage().
void QWebEnginePage::download(const QUrl &url, const QString &filename = QString())
Загружает ресурс из расположения, заданного url, в локальный файл.
Если filename задано, оно используется в качестве предлагаемого имени файла. Если оно относительно, файл сохраняется в стандартном месте загрузки с данным именем. Если оно является нулевой или пустой строкой, используется имя файла по умолчанию.
Этот метод испускает QWebEngineProfile::downloadRequested() после начала загрузки.
Этот метод был введен в Qt 5.10.
[override virtual] bool QWebEnginePage::event(QEvent *e)
Переопределяет: QObject::event(QEvent *e).
void QWebEnginePage::findText(const QString &subString, QWebEnginePage::FindFlags options = FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>())
Ищет указанную строку subString на странице, используя заданные options. Сигнал findTextFinished() испускается при завершении поиска строк.
Для сброса выделения поиска просто передайте пустую строку.
resultCallback должен принимать булевое значение. Он будет вызван со значением true если subString найдена; в противном случае значение обратного вызова будет false.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.
Например:
m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](bool found) {
if (!found) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found"));
}); См. также findTextFinished().
QWebEngineHistory *QWebEnginePage::history() const
Возвращает указатель на историю просмотренных веб-страниц.
QWebEnginePage *QWebEnginePage::inspectedPage() const
Возвращает страницу, которую проверяет текущая страница, если такая есть.
Возвращает nullptr если текущая страница не является страницей инструментов разработчика.
Функция была введена в Qt 5.11.
См. также setInspectedPage() и devToolsPage().
[virtual protected] void QWebEnginePage::javaScriptAlert(const QUrl &securityOrigin, const QString &msg)
Эта функция вызывается всякий раз, когда JavaScript-программа, выполняемая в фрейме, связанном с securityOrigin, вызывает функцию alert() с сообщением msg.
По умолчанию выводит сообщение msg с помощью QMessageBox::information.
[virtual protected] bool QWebEnginePage::javaScriptConfirm(const QUrl &securityOrigin, const QString &msg)
Эта функция вызывается всякий раз, когда JavaScript-программа, выполняемая в фрейме, связанном с securityOrigin, вызывает функцию confirm() с сообщением msg. Возвращает true если пользователь подтверждает сообщение; в противном случае возвращает false.
Также вызывается, когда обработчик onbeforeunload запрашивает подтверждение перед выходом со страницы.
По умолчанию выполняет запрос с помощью QMessageBox::information с кнопками QMessageBox::Ok и QMessageBox::Cancel.
[virtual protected] void QWebEnginePage::javaScriptConsoleMessage(QWebEnginePage::JavaScriptConsoleMessageLevel level, const QString &message, int lineNumber, const QString &sourceID)
Эта функция вызывается, когда JavaScript-программа пытается вывести message в консоль веб-браузера.
Например, в случае ошибок вычисления в sourceID может быть указан URL-адрес источника, а также lineNumber.
level указывает степень серьезности события, вызвавшего сообщение. То есть, было ли оно вызвано ошибкой или менее серьезным событием.
Начиная с Qt 5.6, по умолчанию сообщения регистрируются в js категории регистрации.
См. также Регистрация в консоли.
[virtual protected] bool QWebEnginePage::javaScriptPrompt(const QUrl &securityOrigin, const QString &msg, const QString &defaultValue, QString *result)
Эта функция вызывается всякий раз, когда JavaScript-программа, выполняемая в фрейме, связанном с securityOrigin, пытается запросить ввод у пользователя. Программа может предоставить необязательное сообщение msg, а также значение по умолчанию для ввода в defaultValue.
Если пользователь отменил запрос, реализация должна вернуть false; в противном случае результат должен быть записан в result, и должно быть возвращено true. Если пользователь не отменил запрос, реализация должна вернуть true, и строка результата не должна быть равна null.
По умолчанию используется QInputDialog::getText().
void QWebEnginePage::load(const QUrl &url)
Загружает url на эту страницу.
Примечание: Вид остается прежним, пока не прибудут достаточные данные для отображения нового URL.
См. также setUrl(), setHtml() и setContent().
void QWebEnginePage::load(const QWebEngineHttpRequest &request)
Выполняет указанный request и загружает ответ.
Функция была введена в Qt 5.9.
См. также load(), setUrl(), url(), urlChanged() и QUrl::fromUserInput().
void QWebEnginePage::print(QPrinter *printer, const QWebEngineCallback<bool> &resultCallback)
Рендерит текущее содержимое страницы в временный PDF-документ, а затем печатает его с помощью printer.
Настройки для создания и печати PDF-документа будут взяты из объекта printer. Пользователь отвечает за обеспечение того, чтобы printer оставался действительным до тех пор, пока не будет вызван resultCallback.
Примечание: Печать выполняется в процессе браузера, который по умолчанию не защищен песочницей.
resultCallback должна принимать boolean в качестве параметра. Если печать прошла успешно, этот boolean будет иметь значение true, в противном случае его значение будет false.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.
Функция была введена в Qt 5.8.
void QWebEnginePage::printToPdf(const QString &filePath, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
Рендерит текущего содержимого страницы в PDF-документ и сохраняет его в указанном в filePath месте. Размер страницы и ориентация созданного PDF-документа берутся из значений, указанных в pageLayout.
Этот метод инициирует асинхронный запрос на печать веб-страницы в PDF и возвращается немедленно. Чтобы получить информацию о результате запроса, подключитесь к сигналу pdfPrintingFinished().
Если файл уже существует по указанному пути, он будет перезаписан.
Функция была введена в Qt 5.7.
См. также pdfPrintingFinished().
void QWebEnginePage::printToPdf(const QWebEngineCallback<const QByteArray &> &resultCallback, const QPageLayout &pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
Рендерит текущего содержимого страницы в PDF-документ и возвращает массив байтов, содержащий данные PDF, в качестве параметра resultCallback. Размер страницы и ориентация созданного PDF-документа берутся из значений, указанных в pageLayout.
resultCallback должна принимать константную ссылку на QByteArray в качестве параметра. Если печать прошла успешно, этот массив байтов будет содержать данные PDF; в противном случае массив байтов будет пустым.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда вызывается, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недействительным значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.
Функция была введена в Qt 5.7.
QWebEngineProfile *QWebEnginePage::profile() const
Возвращает профиль веб-движка, к которому принадлежит страница.
Функция была введена в Qt 5.5.
void QWebEnginePage::replaceMisspelledWord(const QString &replacement)
Заменяет текущее неверно написанное слово на replacement.
Текущее неверно написанное слово можно найти в QWebEngineContextMenuData::misspelledWord(), а предлагаемые замены — в QWebEngineContextMenuData::spellCheckerSuggestions().
Функция была введена в Qt 5.8.
См. также contextMenuData().
void QWebEnginePage::save(const QString &filePath, QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const
Сохраняет текущую загруженную веб-страницу на диск.
Веб-страница сохраняется в filePath в указанном format.
Это сокращенное обозначение следующих действий:
- Вызвать веб-действие Сохранить.
- Принять следующий элемент загрузки и установить указанный путь к файлу и формат сохранения.
Эта функция выполняет асинхронный запрос загрузки веб-страницы и возвращает результат немедленно.
Эта функция была добавлена в Qt 5.8.
См. также QWebEngineDownloadItem::SavePageFormat.
QWebEngineScriptCollection &QWebEnginePage::scripts()
Возвращает коллекцию скриптов, которые были внедрены на страницу.
Кроме того, страница может также выполнять скрипты, добавленные через QWebEngineProfile::scripts().
См. также QWebEngineScriptCollection, QWebEngineScript и Внедрение скриптов.
void QWebEnginePage::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
Устанавливает содержимое веб-страницы в data. Если аргумент mimeType пуст, предполагается, что содержимое text/plain,charset=US-ASCII.
Внешние объекты, на которые ссылается содержимое, расположены относительно baseUrl.
data загружается немедленно; внешние объекты загружаются асинхронно.
Примечание: Этот метод не повлияет на историю сеанса или глобальную историю страницы.
Предупреждение: Содержимое будет закодировано по процентам перед отправкой в рендерер через IPC. Это может увеличить его размер. Максимальный размер закодированного по процентам содержимого составляет 2 мегабайта минус 6 байтов плюс длина строки MIME-типа.
См. также toHtml() и setHtml().
void QWebEnginePage::setDevToolsPage(QWebEnginePage *devToolsPage)
Связывает devToolsPage для отображения инструментов разработчика для этой страницы. Вызывает devToolsPage для перехода к внутренней ссылке с инструментами разработчика.
Это то же самое, что вызов setInspectedPage() для devToolsPage с this в качестве аргумента.
Эта функция была добавлена в Qt 5.11.
См. также devToolsPage() и setInspectedPage().
void QWebEnginePage::setFeaturePermission(const QUrl &securityOrigin, QWebEnginePage::Feature feature, QWebEnginePage::PermissionPolicy policy)
Устанавливает разрешение для веб-сайта, идентифицированного securityOrigin, использовать feature со значением policy.
Примечание: Этот метод в основном используется для вызова после сигнала featurePermissionRequested() для запуска ответа на разрешение функции. Его также можно вызвать до того, как запрос был отправлен, но он будет устанавливать только разрешение на предоставление доступа для пассивной проверки, в основном для API уведомлений, которые могут проверить, было ли разрешение предоставлено до явного запроса.
См. также featurePermissionRequested() и featurePermissionRequestCanceled().
void QWebEnginePage::setHtml(const QString &html, const QUrl &baseUrl = QUrl())
Устанавливает содержимое этой страницы в html. baseUrl необязателен и используется для разрешения относительных URL-адресов в документе, таких как ссылки на изображения или стили.
html загружается немедленно; внешние объекты загружаются асинхронно.
Если скрипт в html выполняется дольше, чем стандартный тайм-аут выполнения скрипта (в настоящее время 10 секунд), например, из-за блокировки модальным диалоговым окном JavaScript alert, этот метод вернёт результат как можно скорее после таймаута, и любой последующий html будет загружен асинхронно.
При использовании этого метода веб-движок предполагает, что внешние ресурсы, такие как JavaScript-программы или таблицы стилей, закодированы в UTF-8, если не указано иное. Например, кодировку внешнего скрипта можно указать через атрибут charset тега HTML script. Также возможно, что кодировка будет указана веб-сервером.
Это функция-обёртка, эквивалентная setContent(html, "text/html", baseUrl).
Примечание: Этот метод не повлияет на историю сеанса или глобальную историю страницы.
Предупреждение: Эта функция работает только для HTML, для других MIME-типов (таких как XHTML и SVG) следует использовать setContent().
Предупреждение: Содержимое будет закодировано по процентам перед отправкой в рендерер через IPC. Это может увеличить его размер. Максимальный размер закодированного по процентам содержимого составляет 2 мегабайта минус 30 байтов.
См. также toHtml(), setContent() и load().
void QWebEnginePage::setInspectedPage(QWebEnginePage *page)
Переходит к этой странице по внутренней ссылке, которая является инструментами разработчика страницы page.
Это то же самое, что вызов setDevToolsPage() для page с this в качестве аргумента.
Эта функция была добавлена в Qt 5.11.
См. также inspectedPage() и setDevToolsPage().
void QWebEnginePage::setUrlRequestInterceptor(QWebEngineUrlRequestInterceptor *interceptor)
Регистрирует обработчик запросов interceptor для перехвата запросов URL.
Страница не берёт на себя владение указателем. Этот обработчик вызывается после любого обработчика на профиле, и, в отличие от обработчиков профиля, перехватываются только запросы URL с этой страницы.
Для отмены регистрации обработчика запросов задайте nullptr.
Эта функция была добавлена в Qt 5.13.
См. также QWebEngineUrlRequestInfo и QWebEngineProfile::setUrlRequestInterceptor().
void QWebEnginePage::setView(QWidget *view)
Устанавливает view, связанный с веб-страницей.
См. также view().
void QWebEnginePage::setWebChannel(QWebChannel *channel, uint worldId)
Устанавливает экземпляр веб-канала, используемый этой страницей, в channel и подключает его к транспортной системе веб-движка с помощью сообщений Chromium IPC. Транспорт предоставляется в JavaScript-мире worldId как qt.webChannelTransport, который следует использовать при использовании JavaScript-API Qt WebChannel.
Примечание: Страница не берёт на себя владение объектом канала.
Примечание: Только один веб-канал может быть установлен на странице, установка другого даже в другом JavaScript-мире аннулирует любой уже установленный веб-канал.
Эта функция была добавлена в Qt 5.7.
См. также webChannel() и QWebEngineScript::ScriptWorldId.
void QWebEnginePage::setWebChannel(QWebChannel *channel)
Это перегруженная функция.
Устанавливает экземпляр веб-канала, используемый этой страницей, в channel и устанавливает его в основном JavaScript-мире.
С помощью этого метода веб-канал может быть доступен содержимому веб-страницы. Если содержимое не находится под вашим контролем и может быть небезопасным, это может представлять собой проблему безопасности, и вы должны рассмотреть возможность установки его в частном JavaScript-мире.
Эта функция была добавлена в Qt 5.5.
См. также QWebEngineScript::MainWorld.
QWebEngineSettings *QWebEnginePage::settings() const
Возвращает указатель на объект настроек страницы.
См. также QWebEngineSettings::defaultSettings().
void QWebEnginePage::toHtml(const QWebEngineCallback<const QString &> &resultCallback) const
Асинхронный метод для получения содержимого страницы в формате HTML, заключённого в теги HTML и BODY. При успешном завершении resultCallback вызывается с содержимым страницы.
Примечание: resultCallback может быть любым из указателя на функцию, функтора или лямбда-выражения, и ожидается, что он примет параметр QString.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет вызван, но это может произойти во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недопустимым значением, и небезопасно использовать соответствующий экземпляр QWebEnginePage или QWebEngineView внутри него.
См. также setHtml() и toPlainText().
void QWebEnginePage::toPlainText(const QWebEngineCallback<const QString &> &resultCallback) const
Асинхронный метод получения содержимого страницы, преобразованного в обычный текст, полностью очищенный от всех HTML-форматирований. При успешном завершении resultCallback вызывается с содержимым страницы.
Примечание: resultCallback может быть указателем на функцию, функтором или лямбда-выражением, и ожидается, что оно примет параметр QString.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет вызван, но это может произойти во время уничтожения страницы. При удалении QWebEnginePage обратный вызов вызывается с недопустимым значением, и небезопасно использовать соответствующий экземпляр QWebEnginePage или QWebEngineView внутри него.
См. также toHtml().
[virtual] void QWebEnginePage::triggerAction(QWebEnginePage::WebAction action, bool checked = false)
Этот метод можно вызвать для запуска указанного действия action. Он также вызывается Qt WebEngine, если пользователь запускает действие, например, через пункт контекстного меню.
Если action — это действие с возможностью выбора, то checked указывает, включено ли это действие.
См. также action().
QWidget *QWebEnginePage::view() const
Возвращает виджет представления, связанный с веб-страницей.
См. также setView().
QWebChannel *QWebEnginePage::webChannel() const
Возвращает указатель на экземпляр канала веб-связи, используемый этой страницей, или нулевой указатель, если он не был задан. Этот канал автоматически использует внутренний механизм передачи веб-движка через Chromium IPC, который доступен в контексте JavaScript этой страницы как qt.webChannelTransport.
Этот метод был введён в Qt 5.5.
См. также setWebChannel().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qwebenginepage.html