Класс 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 = QWebEnginePage::FindFlags()) |
| void | findText(const QString &subString, QWebEnginePage::FindFlags options, FunctorOrLambda 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 |
| void | setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl()) |
| void | setHtml(const QString &html, const QUrl &baseUrl = QUrl()) |
| void | setPage(QWebEnginePage *page) |
| void | setUrl(const QUrl &url) |
| void | setZoomFactor(qreal factor) |
| QWebEngineSettings * | settings() const |
| QString | title() const |
| void | triggerPageAction(QWebEnginePage::WebAction action, bool checked = false) |
| QUrl | url() const |
| qreal | zoomFactor() const |
Переопределённые открытые функции
| virtual QSize | sizeHint() const |
- 214 общедоступные функции унаследованные от QWidget
- 32 общедоступные функции унаследованные от 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) |
Защищённые функции
| virtual QWebEngineView * | создатьОкно(QWebEnginePage::WebWindowType type) |
Переопределённые защищённые функции
| виртуальный void | contextMenuEvent(QContextMenuEvent *event) |
| виртуальный void | dragEnterEvent(QDragEnterEvent *e) |
| виртуальный void | dragLeaveEvent(QDragLeaveEvent *e) |
| виртуальный void | dragMoveEvent(QDragMoveEvent *e) |
| виртуальный void | dropEvent(QDropEvent *e) |
| виртуальный bool | event(QEvent *ev) |
| виртуальный void | hideEvent(QHideEvent *event) |
| виртуальный void | showEvent(QShowEvent *event) |
- 35 защищённые функции, унаследованные от QWidget
- 9 защищённые функции, унаследованные от QObject
- 1 защищённая функция, унаследованная от QPaintDevice
Дополнительные унаследованные члены
- 5 статические публичные члены, унаследованные от QWidget
- 11 статические публичные члены, унаследованные от QObject
- 1 защищённый слот, унаследованный от QWidget
Подробное описание
Класс QWebEngineView предоставляет виджет, используемый для просмотра и редактирования веб-документов.
Web view — это основной виджет-компонент модуля 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() возвращает указатель на объект web page. QWebEngineView содержит QWebEnginePage, который, в свою очередь, позволяет получить доступ к QWebEngineHistory в контексте страницы.
Заголовок HTML-документа можно получить с помощью свойства title(). Кроме того, веб-сайт может указать значок, к которому можно получить доступ, используя свойство icon() или его URL с помощью свойства iconUrl(). При изменении заголовка или значка будут генерироваться соответствующие сигналы titleChanged(), iconChanged() и iconUrlChanged(). Свойство zoomFactor() позволяет изменять масштаб содержимого веб-страницы.
Виджет имеет контекстное меню, настроенное на текущий элемент и содержащее полезные действия в браузере. Для настраиваемого контекстного меню или для встраивания действий в меню или панель инструментов отдельные действия доступны через pageAction(). Веб-вью сохраняет состояние возвращённых действий, но позволяет изменять свойства действий, такие как text или icon. Семантика действия также может быть вызвана непосредственно через triggerPageAction().
Если вы хотите предоставить поддержку веб-сайтов, которые позволяют пользователю открывать новые окна, такие как всплывающие окна, вы можете создать подкласс QWebEngineView и переопределить функцию createWindow().
См. также Пример демо-браузера WebEngine, Пример манипулирования содержимым 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
Это свойство содержит заголовок текущей веб-страницы
По умолчанию это свойство содержит пустую строку.
Функции доступа:
| 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().
[virtual protected] void QWebEngineView::contextMenuEvent(QContextMenuEvent *event)
Переопределено из QWidget::contextMenuEvent().
[virtual protected] QWebEngineView *QWebEngineView::createWindow(QWebEnginePage::WebWindowType type)
Этот метод вызывается из метода createWindow() связанной страницы QWebEnginePage каждый раз, когда страница хочет создать новое окно заданного типа type. Например, когда выдан запрос JavaScript для открытия документа в новом окне.
Примечание: Если метод createWindow() связанной страницы переопределён, этот метод не вызывается, если явно не указано в переопределении.
См. также QWebEnginePage::createWindow().
[virtual protected] void QWebEngineView::dragEnterEvent(QDragEnterEvent *e)
Переопределено из QWidget::dragEnterEvent().
[virtual protected] void QWebEngineView::dragLeaveEvent(QDragLeaveEvent *e)
Переопределено из QWidget::dragLeaveEvent().
[virtual protected] void QWebEngineView::dragMoveEvent(QDragMoveEvent *e)
Переопределено из QWidget::dragMoveEvent().
[virtual protected] void QWebEngineView::dropEvent(QDropEvent *e)
Переопределено из QWidget::dropEvent().
[virtual protected] bool QWebEngineView::event(QEvent *ev)
Переопределено из QObject::event().
void QWebEngineView::findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags())
Ищет указанную строку subString на странице, используя заданные options.
Чтобы очистить выделение, просто передайте пустую строку.
См. также selectedText() и selectionChanged().
void QWebEngineView::findText(const QString &subString, QWebEnginePage::FindFlags options, FunctorOrLambda resultCallback)
Ищет указанную строку subString на странице, используя заданные options.
Чтобы очистить выделение, просто передайте пустую строку.
resultCallback должен принимать булевый параметр. Он будет вызван со значением true если subString найдена; в противном случае значение callback будет false.
См. также selectedText() и selectionChanged().
[slot] void QWebEngineView::forward()
Удобный слот, который загружает следующий документ в списке документов, созданном при навигации по ссылкам. Ничего не делает, если следующий документ отсутствует.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Forward);
См. также back() и pageAction().
[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().
[virtual protected] void QWebEngineView::showEvent(QShowEvent *event)
Переопределено из QWidget::showEvent().
[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)
Вызывает указанное действие. Если это действие с выбором, предполагается указанное состояние 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.9/qwebengineview.html