Класс QWebEngineView
Класс QWebEngineView предоставляет виджет, используемый для просмотра и редактирования веб-документов. Подробнее...
| Заголовок: | #include <QWebEngineView> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.4 |
| Наследуется от: | QWidget |
Свойства
|
|
Открытые функции
| QWebEngineView(QWidget *parent = Q_NULLPTR) | |
| virtual | ~QWebEngineView() |
| void | findText(const QString &subString, QWebEnginePage::FindFlags options = ..., const QWebEngineCallback<bool> &resultCallback = ...) |
| bool | hasSelection() const |
| QWebEngineHistory * | history() const |
| QIcon | icon() const |
| QUrl | iconUrl() const |
| void | load(const QUrl &url) |
| void | load(const QWebEngineHttpRequest &request) |
| QWebEnginePage * | page() const |
| QAction * | pageAction(QWebEnginePage::WebAction action) const |
| QString | selectedText() const |
Переопределённые открытые функции
| virtual QSize | sizeHint() const override |
- 216 открытых функций унаследовано от QWidget
- 31 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | назад() |
| void | вперед() |
| void | перезагрузить() |
| void | остановить() |
Сигналы
| void | изменилсяЗначок(const QIcon &icon) |
| void | изменилсяUrlЗначка(const QUrl &url) |
| void | загрузкаЗавершена(bool ok) |
| void | прогрессЗагрузки(int progress) |
| void | начатаЗагрузка() |
| void | процессОтрисовкиЗавершён(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode) |
| void | изменилсяВыбор() |
| void | изменилосьНазвание(const QString &title) |
| void | изменилсяUrl(const QUrl &url) |
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 5 статических открытых членов унаследовано от QWidget
- 9 статических открытых членов унаследовано от QObject
Защищённые функции
| virtual QWebEngineView * | создатьОкно(QWebEnginePage::WebWindowType type) |
Переопределённые защищённые функции
| виртуальный void | contextMenuEvent(QContextMenuEvent *event) override |
| виртуальный void | dragEnterEvent(QDragEnterEvent *e) override |
| виртуальный void | dragLeaveEvent(QDragLeaveEvent *e) override |
| виртуальный void | dragMoveEvent(QDragMoveEvent *e) override |
| виртуальный void | dropEvent(QDropEvent *e) override |
| виртуальный bool | event(QEvent *ev) override |
| виртуальный void | hideEvent(QHideEvent *event) override |
| виртуальный void | showEvent(QShowEvent *event) override |
- 35 защищенных функций, унаследованных от QWidget
- 9 защищенных функций, унаследованных от QObject
- 1 защищенная функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 1 защищенное слот, унаследованный от QWidget
Подробное описание
Класс QWebEngineView предоставляет виджет, используемый для просмотра и редактирования веб-документов.
Web-вью — это основной виджет-компонент модуля просмотра веб-страниц Qt WebEngine. Он может использоваться в различных приложениях для отображения веб-контента в реальном времени из Интернета.
Веб-сайт можно загрузить в веб-вью с помощью функции load(). Для загрузки URL всегда используется метод GET.
Как и все виджеты Qt, для отображения веб-вью необходимо вызвать функцию show(). Пример показан ниже:
QWebEngineView *view = new QWebEngineView(parent);
view->load(QUrl("http://qt-project.org/"));
view->show(); В качестве альтернативы можно использовать setUrl() для загрузки веб-сайта. Если HTML-контент доступен, можно использовать setHtml().
Сигнал loadStarted() генерируется при начале загрузки вью, а сигнал loadProgress() — при завершении загрузки элемента веб-вью, например, вложенного изображения или скрипта. Сигнал loadFinished() генерируется при полной загрузке вью. Его аргумент, либо true , либо false, указывает на успешность или неудачу загрузки.
Функция page() возвращает указатель на объект веб-страницы. QWebEngineView содержит QWebEnginePage, который, в свою очередь, позволяет получить доступ к QWebEngineHistory в контексте страницы.
Заголовок HTML-документа можно получить с помощью свойства title(). Кроме того, веб-сайт может указать значок, к которому можно получить доступ с помощью свойства icon или его URL с помощью свойства iconUrl. Если заголовок или значок изменяются, будут генерироваться соответствующие сигналы titleChanged(), iconChanged() и iconUrlChanged(). Свойство zoomFactor() позволяет изменять масштаб отображения веб-страницы.
Виджет имеет контекстное меню, настроенное на текущий элемент, и включает действия, полезные в браузере. Для пользовательского контекстного меню или для встраивания действий в меню или панель инструментов доступны отдельные действия через pageAction(). Веб-вью сохраняет состояние возвращённых действий, но позволяет изменять свойства действий, такие как text или icon. Семантику действия также можно вызвать напрямую через triggerPageAction().
Если необходимо обеспечить поддержку веб-сайтов, позволяющих пользователю открывать новые окна, такие как всплывающие окна, можно создать подкласс QWebEngineView и переопределить функцию createWindow().
См. также Пример простого браузера WebEngine Widgets, Пример обработки контента WebEngine и Пример редактора Markdown WebEngine.
Документация свойств
hasSelection : const bool
Это свойство указывает, содержит ли данная страница выделенный контент.
По умолчанию это свойство false.
Функции доступа:
| bool | hasSelection() const |
См. также selectionChanged().
icon : const 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().
selectedText : const QString
Это свойство содержит текст, который в данный момент выделен.
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| QString | selectedText() const |
См. также findText() и selectionChanged().
title : const QString
Это свойство содержит заголовок страницы, как определено элементом HTML <title>.
Эквивалентно QWebEnginePage::title().
Функции доступа:
| QString | title() const |
См. также titleChanged().
url : QUrl
Это свойство содержит URL текущей веб-страницы.
Установка этого свойства очищает вью и загружает URL.
По умолчанию это свойство содержит пустой, недопустимый URL.
Функции доступа:
| QUrl | url() const |
| void | setUrl(const QUrl &url) |
См. также load() и urlChanged().
zoomFactor : qreal
Это свойство содержит коэффициент масштабирования для вью.
Допустимые значения находятся в диапазоне от 0.25 до 5.0. Значение по умолчанию равно 1.0.
Функции доступа:
| qreal | zoomFactor() const |
| void | setZoomFactor(qreal factor) |
Документация функций-членов
QWebEngineView::QWebEngineView(QWidget *parent = Q_NULLPTR)
Создаёт пустую веб-вью с родительским виджетом parent.
См. также load().
[virtual] QWebEngineView::~QWebEngineView()
Уничтожает представление веб-страницы.
[slot] void QWebEngineView::back()
Удобный слот, который загружает предыдущий документ в списке документов, созданных при навигации по ссылкам. Не делает ничего, если предыдущий документ отсутствует.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Back);
См. также forward() и pageAction().
[override virtual protected] void QWebEngineView::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QWidget::contextMenuEvent().
[virtual protected] QWebEngineView *QWebEngineView::createWindow(QWebEnginePage::WebWindowType type)
Эта функция вызывается из метода createWindow() связанной страницы QWebEnginePage каждый раз, когда страница хочет создать новое окно заданного типа type. Например, при выполнении запроса JavaScript для открытия документа в новом окне.
Примечание: Если метод createWindow() связанной страницы переопределён, этот метод не вызывается, если явно не указано в переопределении.
См. также QWebEnginePage::createWindow().
[override virtual protected] void QWebEngineView::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QWidget::dragEnterEvent().
[override virtual protected] void QWebEngineView::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QWidget::dragLeaveEvent().
[override virtual protected] void QWebEngineView::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QWidget::dragMoveEvent().
[override virtual protected] void QWebEngineView::dropEvent(QDropEvent *e)
Переопределено из QWidget::dropEvent().
[override virtual protected] bool QWebEngineView::event(QEvent *ev)
Переопределено из QWidget::event().
void QWebEngineView::findText(const QString &subString, QWebEnginePage::FindFlags options = ..., const QWebEngineCallback<bool> &resultCallback = ...)
Ищет указанную строку subString на странице с заданными options.
Для очистки выделения просто передайте пустую строку.
resultCallback должна принимать булевый параметр. Она будет вызвана со значением true если subString найдена; в противном случае значение обратного вызова будет false.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет вызван, но это может произойти во время уничтожения страницы. При удалении QWebEnginePage обратный вызов срабатывает с недопустимым значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.
См. также selectedText() и selectionChanged().
[slot] void QWebEngineView::forward()
Удобный слот, который загружает следующий документ в списке документов, созданных при навигации по ссылкам. Не делает ничего, если следующий документ отсутствует.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Forward);
См. также back() и pageAction().
[override virtual protected] void QWebEngineView::hideEvent(QHideEvent *event)
Переопределено из QWidget::hideEvent().
QWebEngineHistory *QWebEngineView::history() const
Возвращает указатель на историю просмотренных веб-страниц представления.
Эквивалентно:
view->page()->history();
[signal] void QWebEngineView::iconChanged(const QIcon &icon)
Этот сигнал испускается при изменении значка ("иконки закладки") связанного с представлением. Новый значок задаётся параметром icon.
Эта функция была введена в Qt 5.7.
Примечание: Сигнал-уведомление для свойства icon.
См. также icon(), iconUrl(), и iconUrlChanged().
[signal] void QWebEngineView::iconUrlChanged(const QUrl &url)
Этот сигнал испускается при изменении URL-адреса значка ("иконки закладки") связанного с представлением. Новый URL-адрес задаётся параметром url.
Примечание: Сигнал-уведомление для свойства iconUrl.
См. также iconUrl(), icon(), и iconChanged().
void QWebEngineView::load(const QUrl &url)
Загружает указанный url и отображает его.
Примечание: Представление остаётся неизменным до тех пор, пока не будет достаточно данных для отображения нового URL.
См. также load(), setUrl(), url(), urlChanged(), и QUrl::fromUserInput().
void QWebEngineView::load(const QWebEngineHttpRequest &request)
Выполняет указанный request и загружает ответ.
Эта функция была введена в Qt 5.9.
См. также load(), setUrl(), url(), urlChanged(), и QUrl::fromUserInput().
[signal] void QWebEngineView::loadFinished(bool ok)
Этот сигнал испускается при завершении загрузки страницы. ok указывает, была ли загрузка успешной или произошла ошибка.
См. также loadStarted().
[signal] void QWebEngineView::loadProgress(int progress)
Этот сигнал испускается каждый раз, когда элемент в представлении веб-страницы завершает загрузку, например, встроенное изображение или скрипт. Таким образом, он отслеживает совокупный прогресс загрузки представления веб-страницы.
Текущее значение предоставляется параметром progress и изменяется от 0 до 100, что является стандартным диапазоном для QProgressBar.
См. также loadStarted() и loadFinished().
[signal] void QWebEngineView::loadStarted()
Этот сигнал испускается при начале новой загрузки страницы.
См. также loadProgress() и loadFinished().
QWebEnginePage *QWebEngineView::page() const
Возвращает указатель на базовую веб-страницу.
См. также setPage().
QAction *QWebEngineView::pageAction(QWebEnginePage::WebAction action) const
Возвращает указатель на QAction, который инкапсулирует указанное веб-действие action.
[slot] void QWebEngineView::reload()
Перезагружает текущий документ.
См. также stop(), pageAction(), и loadStarted().
[signal] void QWebEngineView::renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
Этот сигнал испускается, когда процесс рендеринга завершается с ненулевым кодом выхода. terminationStatus — это статус завершения процесса, а exitCode — код состояния, с которым процесс завершился.
Эта функция была введена в Qt 5.6.
[signal] void QWebEngineView::selectionChanged()
Этот сигнал испускается всякий раз, когда изменяется выделение.
Примечание: При использовании мыши для выделения текста нажатием и перетаскиванием левой кнопки мыши сигнал будет испускаться для каждого нового выделенного символа, а не при отпускании левой кнопки мыши.
См. также selectedText().
void QWebEngineView::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
Устанавливает содержимое веб-представления в data. Если аргумент mimeType пуст, предполагается, что содержимое text/plain,charset=US-ASCII.
Внешние объекты, упоминаемые в содержимом, расположены относительно baseUrl.
Данные загружаются немедленно; внешние объекты загружаются асинхронно.
См. также load(), setHtml() и QWebEnginePage::toHtml().
void QWebEngineView::setHtml(const QString &html, const QUrl &baseUrl = QUrl())
Устанавливает содержимое веб-представления в указанное содержимое html.
Внешние объекты, такие как таблицы стилей или изображения, упоминаемые в HTML-документе, расположены относительно baseUrl.
HTML-документ загружается немедленно, в то время как внешние объекты загружаются асинхронно.
При использовании этого метода Qt WebEngine предполагает, что внешние ресурсы, такие как JavaScript-программы или таблицы стилей, закодированы в UTF-8, если не указано иное. Например, кодировку внешнего скрипта можно указать через атрибут charset тега HTML-скрипта. В качестве альтернативы кодировку можно указать веб-сервером.
Это функция-удобство, эквивалентная setContent(html, "text/html;charset=UTF-8", baseUrl).
Предупреждение: Эта функция работает только для HTML. Для других типов MIME (таких как XHTML или SVG) следует использовать setContent().
Примечание: Содержимое размером более 2 МБ не может быть отображено, потому что setHtml() преобразует предоставленный HTML в кодировку процентов и помещает data перед ним, чтобы создать URL, к которому он переходит. Таким образом, предоставленный код становится URL, превышающий ограничение в 2 МБ, установленное Chromium. Если содержимое слишком велико, сигнал loadFinished() срабатывает с success=false.
См. также load(), setContent(), QWebEnginePage::toHtml() и QWebEnginePage::setContent().
void QWebEngineView::setPage(QWebEnginePage *page)
Делает page новой веб-страницей веб-представления.
Родительский QObject предоставленной страницы остается владельцем объекта. Если текущая страница является дочерней по отношению к веб-представлению, она будет удалена.
См. также page().
QWebEngineSettings *QWebEngineView::settings() const
Возвращает указатель на объект настроек, специфичный для представления или страницы.
Эквивалентно:
view->page()->settings();
См. также QWebEngineSettings::globalSettings().
[override virtual protected] void QWebEngineView::showEvent(QShowEvent *event)
Переопределено из QWidget::showEvent().
[override virtual] QSize QWebEngineView::sizeHint() const
Переопределено из QWidget::sizeHint().
[slot] void QWebEngineView::stop()
Функция-удобство, останавливающая загрузку документа.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Stop);
См. также reload(), pageAction() и loadFinished().
[signal] void QWebEngineView::titleChanged(const QString &title)
Этот сигнал испускается всякий раз, когда меняется заголовок представления.
См. также title().
void QWebEngineView::triggerPageAction(QWebEnginePage::WebAction action, bool checked = false)
Вызывает указанное действие action. Если это действие с возможностью выбора, предполагается указанное состояние checked.
Следующий пример вызывает действие копирования, а значит, копирует любой выделенный текст в буфер обмена.
view->triggerPageAction(QWebEnginePage::Copy);
См. также pageAction().
[signal] void QWebEngineView::urlChanged(const QUrl &url)
Этот сигнал испускается, когда меняется url представления.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qwebengineview.html