Класс 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 = ..., 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 |
| 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)
Этот сигнал генерируется, когда значок ("favicon") связанный с представлением, меняется. Новый значок задаётся параметром icon.
Эта функция была добавлена в Qt 5.7.
Примечание: Сигнал уведомления для свойства icon.
См. также icon(), iconUrl() и iconUrlChanged().
[signal] void QWebEngineView::iconUrlChanged(const QUrl &url)
Этот сигнал генерируется, когда URL значка ("favicon") связанный с представлением, меняется. Новый 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().
[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 = ..., const QWebEngineCallback<bool> &resultCallback = ...)
Ищет указанную строку 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-скрипта. В качестве альтернативы кодировка может быть указана веб-сервером.
Это функция-обёртка, эквивалентная 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.14/qwebengineview.html