Класс QWebEngineView
Класс QWebEngineView предоставляет виджет, используемый для просмотра и редактирования веб-документов. Подробнее...
| Заголовок: | #include <QWebEngineView> |
| qmake: | QT += webenginewidgets |
| С момента: | Qt 5.4 |
| Наследует: | QWidget |
Этот класс был представлен в Qt 5.4.
Свойства
|
|
Открытые функции
| QWebEngineView(QWidget *parent = Q_NULLPTR) | |
| virtual | ~QWebEngineView() |
| void | findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>()) |
| 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 override |
Открытые слоты
| void | назад() |
| void | вперед() |
| void | перезагрузить() |
| void | остановить() |
Сигналы
| void | iconChanged(const QIcon &icon) |
| void | iconUrlChanged(const QUrl &url) |
| void | loadFinished(bool ok) |
| void | loadProgress(int progress) |
| void | loadStarted() |
| void | renderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode) |
| void | selectionChanged() |
| void | titleChanged(const QString &title) |
| void | urlChanged(const QUrl &url) |
Защищенные функции
| virtual QWebEngineView * | createWindow(QWebEnginePage::WebWindowType type) |
Переопределённые защищенные функции
| virtual void | closeEvent(QCloseEvent *event) override |
| virtual void | contextMenuEvent(QContextMenuEvent *event) override |
| virtual void | dragEnterEvent(QDragEnterEvent *e) override |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
| virtual void | dragMoveEvent(QDragMoveEvent *e) override |
| virtual void | dropEvent(QDropEvent *e) override |
| virtual bool | event(QEvent *ev) override |
| virtual void | hideEvent(QHideEvent *event) override |
| virtual void | showEvent(QShowEvent *event) override |
Подробное описание
Представление веб-страницы — это основной виджет в модуле 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().
[slot] void QWebEngineView::back()
Удобный слот, который загружает предыдущий документ в списке документов, созданных при навигации по ссылкам. Не делает ничего, если нет предыдущего документа.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Back);
См. также forward() и pageAction().
[slot] void QWebEngineView::forward()
Удобный слот, который загружает следующий документ в списке документов, созданных при навигации по ссылкам. Не делает ничего, если нет следующего документа.
Эквивалентно:
view->page()->triggerAction(QWebEnginePage::Forward);
См. также back() и pageAction().
[signal] void QWebEngineView::iconChanged(const QIcon &icon)
Этот сигнал генерируется, когда значок («иконка закладки») отображения изменяется. Новый значок задаётся параметром icon.
Примечание: Сигнал уведомления для свойства icon.
Эта функция была добавлена в Qt 5.7.
См. также icon(), iconUrl() и iconUrlChanged().
[signal] void QWebEngineView::iconUrlChanged(const QUrl &url)
Этот сигнал генерируется, когда URL-адрес значка («иконка закладки») отображения изменяется. Новый URL задаётся параметром url.
Примечание: Сигнал уведомления для свойства iconUrl.
См. также iconUrl(), icon() и iconChanged().
[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().
[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().
[slot] void QWebEngineView::stop()
Удобный слот, который останавливает загрузку документа.
Он эквивалентен:
view->page()->triggerAction(QWebEnginePage::Stop);
См. также reload(), pageAction() и loadFinished().
[signal] void QWebEngineView::titleChanged(const QString &title)
Этот сигнал излучается всякий раз, когда изменяется заголовок title представления.
См. также title().
[signal] void QWebEngineView::urlChanged(const QUrl &url)
Этот сигнал излучается при изменении url представления.
[virtual] QWebEngineView::~QWebEngineView()
Уничтожает веб-представление.
[override virtual protected] void QWebEngineView::closeEvent(QCloseEvent *event)
Переопределяет: QWidget::closeEvent(QCloseEvent *event).
[override virtual protected] void QWebEngineView::contextMenuEvent(QContextMenuEvent *event)
Переопределяет: QWidget::contextMenuEvent(QContextMenuEvent *event).
[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(QDragEnterEvent *event).
[override virtual protected] void QWebEngineView::dragLeaveEvent(QDragLeaveEvent *e)
Переопределяет: QWidget::dragLeaveEvent(QDragLeaveEvent *event).
[override virtual protected] void QWebEngineView::dragMoveEvent(QDragMoveEvent *e)
Переопределяет: QWidget::dragMoveEvent(QDragMoveEvent *event).
[override virtual protected] void QWebEngineView::dropEvent(QDropEvent *e)
Переопределяет: QWidget::dropEvent(QDropEvent *event).
[override virtual protected] bool QWebEngineView::event(QEvent *ev)
Переопределяет: QWidget::event(QEvent *event).
void QWebEngineView::findText(const QString &subString, QWebEnginePage::FindFlags options = QWebEnginePage::FindFlags(), const QWebEngineCallback<bool> &resultCallback = QWebEngineCallback<bool>())
Ищет указанную строку subString на странице, используя заданные options.
Чтобы очистить выделение, просто передайте пустую строку.
resultCallback должна принимать булевый параметр. Она будет вызвана со значением true если subString была найдена; в противном случае значение обратного вызова будет false.
Предупреждение: Мы гарантируем, что обратный вызов (resultCallback) всегда будет вызван, но это может быть сделано во время уничтожения страницы. Когда QWebEnginePage удаляется, обратный вызов срабатывает с недопустимым значением, и использование соответствующего экземпляра QWebEnginePage или QWebEngineView внутри него небезопасно.
См. также selectedText() и selectionChanged().
[override virtual protected] void QWebEngineView::hideEvent(QHideEvent *event)
Переопределяет: QWidget::hideEvent(QHideEvent *event).
QWebEngineHistory *QWebEngineView::history() const
Возвращает указатель на историю навигации по веб-страницам представления.
Эквивалентно:
view->page()->history();
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().
QWebEnginePage *QWebEngineView::page() const
Возвращает указатель на базовую веб-страницу.
См. также setPage().
QAction *QWebEngineView::pageAction(QWebEnginePage::WebAction action) const
Возвращает указатель на QAction, который обобщает указанное действие веб-страницы action.
void QWebEngineView::setContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
Устанавливает содержимое веб-представления в data. Если параметр mimeType пустой, предполагается, что содержимое text/plain,charset=US-ASCII.
Внешние объекты, упомянутые в содержимом, расположены относительно baseUrl. Для загрузки внешних объектов baseUrl не может быть пустой.
Данные загружаются немедленно; внешние объекты загружаются асинхронно.
См. также load(), setHtml() и QWebEnginePage::toHtml().
void QWebEngineView::setHtml(const QString &html, const QUrl &baseUrl = QUrl())
Устанавливает содержимое веб-представления в указанное содержимое html.
Внешние объекты, такие как таблицы стилей или изображения, указанные в документе HTML, находятся относительно baseUrl. Для загрузки внешних объектов baseUrl не может быть пустой. Например, если html получен из http://www.example.com/documents/overview.html, которое является базовым URL, то изображение, указанное с относительным URL diagram.png, должно находиться по адресу http://www.example.com/documents/diagram.png.
Документ HTML загружается немедленно, в то время как внешние объекты загружаются асинхронно.
При использовании этого метода Qt WebEngine предполагает, что внешние ресурсы, такие как программы JavaScript или таблицы стилей, закодированы в UTF-8, если не указано иное. Например, кодировка внешнего скрипта может быть указана через атрибут charset тега HTML script. В качестве альтернативы, кодировка может быть указана веб-сервером.
Это функция-удобство, эквивалентная 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::defaultSettings().
[override virtual protected] void QWebEngineView::showEvent(QShowEvent *event)
Переопределяет: QWidget::showEvent(QShowEvent *event).
[override virtual] QSize QWebEngineView::sizeHint() const
Переопределяет функцию доступа к свойству: QWidget::sizeHint.
void QWebEngineView::triggerPageAction(QWebEnginePage::WebAction action, bool checked = false)
Вызывает указанное действие action. Если это действие с возможностью выбора, предполагается указанное состояние checked.
Следующий пример вызывает действие копирования, и поэтому копирует любой выделенный текст в буфер обмена.
view->triggerPageAction(QWebEnginePage::Copy);
См. также pageAction().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qwebengineview.html