Класс 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 |
| QUrl | iconUrl() const |
| void | load(const QUrl &url) |
| 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 |
- 211 открытых функций унаследовано от QWidget
- 31 открытых функций унаследовано от QObject
- 14 открытых функций унаследовано от QPaintDevice
Открытые слоты
| void | back() |
| void | forward() |
| void | reload() |
| void | stop() |
Сигналы
| 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 | contextMenuEvent(QContextMenuEvent *event) |
| virtual void | dragEnterEvent(QDragEnterEvent *e) |
| virtual void | dragLeaveEvent(QDragLeaveEvent *e) |
| virtual void | dragMoveEvent(QDragMoveEvent *e) |
| virtual void | dropEvent(QDropEvent *e) |
| virtual bool | event(QEvent *ev) |
| virtual void | hideEvent(QHideEvent *event) |
| virtual void | showEvent(QShowEvent *event) |
- 35 защищенных функций унаследованы от QWidget
- 9 защищенных функций унаследованы от QObject
- 1 защищенная функция унаследована от QPaintDevice
Дополнительные унаследованные члены
- 5 статических публичных членов унаследованы от QWidget
- 11 статических публичных членов унаследованы от QObject
- 1 защищенный слот унаследован от QWidget
Подробное описание
Класс QWebEngineView предоставляет виджет, используемый для просмотра и редактирования веб-документов.
Представление веб-страницы является основным виджетом компонента модуля просмотра веб-страниц 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(). Кроме того, веб-сайт может указать значок, который можно получить с помощью свойства iconUrl(). Если заголовок или значок изменяются, будут выпущены соответствующие сигналы titleChanged() и iconUrlChanged(). Свойство zoomFactor() позволяет изменять масштаб содержимого веб-страницы с помощью коэффициента масштабирования.
Если вам нужен пользовательский контекстное меню, вы можете реализовать его, переопределив contextMenuEvent() и заполнив свой QMenu действиями, полученными от pageAction(). Дополнительные функции, такие как перезагрузка представления, копирование выделенного текста в буфер обмена или вставка в представление, инкапсулированы в объектах QAction, возвращаемых pageAction(). Эти действия можно программно запустить с помощью triggerPageAction(). В качестве альтернативы, действия можно добавить непосредственно в панель инструментов или меню. Представление веб-страницы сохраняет состояние возвращенных действий, но позволяет изменять свойства действий, такие как text или icon.
Если вам необходимо обеспечить поддержку веб-сайтов, которые позволяют пользователю открывать новые окна, такие как всплывающие окна, вы можете создать подкласс QWebEngineView и переопределить функцию createWindow().
См. также Пример демонстрационного браузера WebEngine, Пример манипулирования содержимым WebEngine и Пример редактора разметки Markdown WebEngine.
Документация по свойствам
hasSelection : const bool
Это свойство указывает, содержит ли эта страница выделенное содержимое.
По умолчанию это свойство равно false.
Функции доступа:
| bool | hasSelection() const |
См. также selectionChanged().
iconUrl : const QUrl
Это свойство содержит URL-адрес значка, связанного с текущей просматриваемой страницей.
По умолчанию это свойство содержит пустой URL-адрес.
Функции доступа:
| QUrl | iconUrl() const |
Сигнал уведомления:
| void | iconUrlChanged(const QUrl &url) |
См. также iconUrlChanged().
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 была найдена; в противном случае значение вызова будет 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::iconUrlChanged(const QUrl &url)
Этот сигнал генерируется при изменении URL значка («иконки») изображения, связанного с представлением. Новый URL задаётся параметром url.
Примечание: Сигнал уведомления для свойства iconUrl.
См. также iconUrl().
void QWebEngineView::load(const QUrl &url)
Загружает указанный url и отображает его.
Примечание: Представление остаётся прежним до тех пор, пока не будет достаточно данных для отображения нового URL.
См. также 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 пустой, в настоящее время предполагается, что содержимое представляет собой HTML, но в будущих версиях может быть реализована автоопределение.
Внешние объекты, упоминаемые в содержимом, расположены относительно 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 script. В качестве альтернативы, кодировка может быть указана веб-сервером.
Это функция-обёртка, эквивалентная setContent(html, "text/html;charset=UTF-8", baseUrl).
Предупреждение: Эта функция работает только для HTML. Для других MIME-типов (например, XHTML или SVG) следует использовать setContent().
См. также 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/archives/qt-5.6/qwebengineview.html