Класс 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 |
| 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 |
- 219 общедоступных функций, унаследованных от QWidget
- 34 общедоступных функций, унаследованных от 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) 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
- 1 общедоступная переменная, унаследованная от QObject
- 7 статические общедоступные члены, унаследованные от QWidget
- 10 статических общедоступных членов, унаследованных от QObject
- 1 защищённый слот, унаследованный от QWidget
- 2 защищённых переменных, унаследованных от QObject
- 1 защищённый тип, унаследованный от QPaintDevice
Подробное описание
Класс QWebEngineView предоставляет виджет для просмотра и редактирования веб-документов.
Web view — основной виджет Qt WebEngine модуля веб-браузера. Он может использоваться в различных приложениях для отображения веб-контента в реальном времени из Интернета.
Веб-сайт можно загрузить в web view с помощью функции 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 Widgets Simple Browser, Пример WebEngine Content Manipulation и Пример WebEngine Markdown Editor.
Документация по свойствам
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().
[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.
См. также 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 значка ("favicon"), связанного с представлением. Новый 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 представления.
См. также 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/archives/qt-5.11/qwebengineview.html