当前位置: 首页 > 工具软件 > Qovery-engine > 使用案例 >

QWebEngineView-官翻

仲孙鸣
2023-12-01


# QWebEngineView Class

QWebEngineView类提供了一个widget, 被使用去查看和编辑web元素。

属性方法
头文件#include
qmake参数QT += webenginewidgets
继承QWidget

特性

属性名类型
hasSelectionconst bool
titleconst QString
iconconst QIcon
zoomFactorqreal
selectedTextconst QString

公共成员函数

类型函数名
QWebEngineView(QWidget *parent = Q_NULLPTR)]
virtual~QWebEngineView()
voidfindText(const QString &subString, QWebEnginePage::FindFlags options = …, const QWebEngineCallback &resultCallback = …)]
boolhasSelection() const
QWebEngineHostory *history() const
QIconicon() const
QUrliconUrl() const
voidload(const QUrl &url)
voidload(const QWebEngineHttpRequest &request)
QWebEnginePage *page() const
QAction *pageAction(QWebEnginePage::WebAction action) const
QStringselectedText() const
voidsetContent(const QByteArray &data, const QString &mimeType = QString(), const QUrl &baseUrl = QUrl())
voidsetHtml(const QString &html, const QUrl &baseUrl = QUrl())
voidsetPage(QWebEnginePage *page)
voidsetUrl(const QUrl &url)
voidsetZoomFactor(qreal factor)
QWebEngineSettings *settings() const
QStringtitle() const
voidtriggerPageAction(QWebEnginePage::WebAction action, bool checked = false)
QUrlurl() const
qrealzoomFactor() const

重实现公共成员函数

virtual QSize sizeHint() const override

  • 216 个公共成员函数继承自 QWidget
  • 31 个公共成员函数继承自 QObject
  • 14 个公共成员函数继承自 QPaintDevice

公有槽函数

类型函数名
voidback()
voidforward()
voidreload()
voidstop()
  • 19 个公共槽函数继承自 QWidget
  • 1 个公共槽函数继承自 QObject

信号

类型函数名
voidiconChanged(const QIcon &icon)
voidiconUrlChanged(const QUrl &url)
voidiconUrlChanged(const QUrl &url)
voidloadProgress(int progress)
voidloadStarted()
voidrenderProcessTerminated(QWebEnginePage::RenderProcessTerminationStatus terminationStatus, int exitCode)
voidselectionChanged()
voidtitleChanged(const QString &title)
voidurlChanged(const QUrl &url)
  • 3 signals inherited from QWidget
  • 2 signals inherited from QObject

静态公有成员函数

  • 5 个静态公有成员函数继承自 QWidget
  • 9 个静态公有成员函数 QObject

保护成员函数

virtual QWebEngineView *
createWindow(QWebEnginePage::WebWindowType type)

重实现保护成员函数

类型函数名
vitrual voidcontextMenuEvent(QContextMenuEvent *event) override
virtual voiddragEnterEvent(QDragEnterEvent *e) override
virtual voiddragLeaveEvent(QDragLeaveEvent *e) override
virtual voiddragMoveEvent(QDragMoveEvent *e) override
virtual voiddropEvent(QDropEvent *e) override
virtual boolevent(QEvent *ev) override
virtual voidhideEvent(QHideEvent *event) override
virtual voidshowEvent(QShowEvent *event) override
  • 35 个保护成员函数继承自 QWidget

  • 9 个保护成员函数继承自 QObject

  • 1 个保护成员函数继承自 QPaintDevice

额外继承成员

  • 一个保护槽继承自QWidget

详细描述

QWebEngineView类提供了一个小部件, 被用去查看和编辑web文档。

一个web视图是组成Qt WebEngine web 浏览模块的主要widget之一。它可以被用于多种应用去展示来自Internet的web内容。

一个web元素可以通过load()函数加载到web视图。一般总是使用Get方法去加载URLs.

像所有Qt小部件一样,必须调用show()函数才能显示Web视图。 下面的代码段说明了这一点:

QWebEngineView *view = new QWebEngineView(parent);
      view->load(QUrl("http://qt-project.org/"));
      view->show();

或者, setUrl() 可以被使用去加载web元素。如果你有可读的 HTML 内容,你可以使用setHtml() 代替。

当视图开始加载的时候,发出loadStarted() 信号,当web视图的一个元素被完整加载的时候,发出loadProgress()信号,例如一个embedded 图像或一个脚本。当视图被完整加载时,发出loadFinished()信号。其参数true或false指示加载是成功还是失败。

page()函数返回一个指向web页对象的指针。一个QWebEngineView 包含一个QWebEnginePage, 允许依次访问QWebEnginePage在页的内容里。HTML文档的标题可以用title()属性访问。另外,一个web元素可能是一个图标, 可以使用icon()访问,使用 iconUrl()访问图标的URL。如果标题或是图标改变,将发出titleChanged(), iconChanged() 和 iconUrlChanged()信号来回应。zoomFactor()属性通过缩放因子,能够缩放web页的内容。

该小部件适合于上下文菜单并包含在浏览器中有用的操作。对于自定义上下文菜单,或将动作嵌入菜单或工具栏中,可通过pageAction()获得单个动作。web视图维护返回动作的状态,但允许修改动作属性,例如text or icon. 动作语义也可以通过 triggerPageAction()直接触发。

对于web元素,如果你想要提供 支持允许用户去打开新的窗口,例如pop-up windows, 你可以子类化QWebEngineView 和实现 createWindow() 函数。

您也可以在 WebEngine Widgets Simple Browser Example, WebEngine Content Manipulation Example, 和 WebEngine Markdown Editor Example的文档中找到相关的信息。

特性文档编制

属性名类型
hasSelectionconst bool

此属性保存此页面是否包含所选内容。
默认情况下,此属性为false。

访问函数:

bool **hasSelection() ** const

另请参见 selectionChanged()。

属性名类型
iconconst QIcon

此属性保存当前可视页面关联的图标。

默认,这个属性包含一个空图标。

访问函数:

QIcon icon() const

通知信号:

void iconChanged(const QIcon &icon)

另请参见iconChanged(), iconUrl(), 和 iconUrlChanged()。

属性名类型
iconUrlconst QUrl

此属性保存当前可视页面关联图标的URL。

默认,这个属性包含一个空URL。

该特性在 Qt 5.7 引入。

访问函数:

QIcon iconUrl() const

通知信号:

void iconUrlChanged(const QUrl &url)

另请参见iconUrlChanged(), icon(), 和 iconChanged()。

属性名类型
selectedTextconst QString

此属性保存了当前选中的文本。

默认,此属性包含一个空字符串。

访问函数:

QString selectionText() const

另请参见findText() 和 selectionChanged()。

属性名类型
titleconst QString

此属性保存了定义为HTML元素页面的标题。

访问函数:

QString title() const

另请参见titleChanged().

属性名类型
urlQUrl

此属性保存了当前可视web页面的URL。

设置这个属性会清空此view和加载URL。

默认,这个属性包含一个空的,无效的URL。

访问函数:

QUrl url() const

void setUrl(const QUrl &url)

另请参见load() 和 urlChanged().

属性名类型
zoomFactorqreal

此属性保存了该view的缩放因子。

有效数值的范围从 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)

每当页面想要创建给定类型的新窗口时,都会从关联的QWebEnginePage的createWindow()方法中调用此函数。 例如,当发出JavaScript请求以在新窗口中打开文档时。
注意: 如果重新实现了关联页面的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 &resultCallback = …)

在页面里找到特殊的字符串,子字符串,通过使用options

去清空选中部分,只需要传递一个空的字符串。

resultCallback必须带boolean参数, 它将返回true或false, 表明是否找到子字符串。

注意: 我们保证回调函数总是可以被调用,但可能需要在页面构造完成之后。当QWebEnginePage 被删除时,该回调触发带着一个无效的值且作为 QWebEnginePage or QWebEngineView实例里使用是不安全的。

[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

返回指向web导航页面视图历史的指针。

它等价于:

      view->page()->history();

[signal] void QWebEngineView::iconChanged(const QIcon &icon)

当与视图关联的图标(“favicon”)更改时,将发出此信号。 新图标由图标指定。
此功能在Qt 5.7中引入。
注意:属性图标的通知程序信号。
另请参见 icon(), iconUrl(), 和 iconUrlChanged()。

[signal] void QWebEngineView::iconUrlChanged(const QUrl &url)

当与视图关联的图标(“图标”)的URL更改时,将发出此信号。 新URL由url指定。
注意:属性iconUrl的通知程序信号。
另请参见icon(), iconUrl(), 和 iconUrlChanged()。

void QWebEngineView::load(const QUrl &url)

加载指定的url和显示它。

注意: 该视图保持相同的内容直到足够多的数据去展示新的URL。

另请参见 load(), setUrl(), url(), urlChanged(), 和 QUrl::fromUserInput().

void QWebEngineView::load(const QWebEngineHttpRequest &request)

发出指定的请求并加载响应。
Qt 5.9中引入了此功能。
另请参见load(), setUrl(), url(), urlChanged(), and QUrl::fromUserInput().

[signal] void QWebEngineView::loadFinished(bool ok)

当加载该页面已经完成的时候,发出该信号。ok 表明加载是成功还是失败。

[signal] void QWebEngineView::loadProgress(int progress)

每当Web视图中的某个元素完成加载(例如嵌入式图像或脚本)时,都会发出此信号。 因此,它跟踪加载Web视图的总体进度。

当前值由progress提供,范围为0到100,这是QProgressBar的默认范围。

另请参见 loadStarted() 和 loadFinished().

[signal] void QWebEngineView::loadStarted()

当新的页面开始被加载的时候,发出该信号。

WebEnginePage *QWebEngineView::page() const

返回指向下划线web网页的指针。

QAction*QWebEngineView::pageAction(QWebEnginePage::WebAction action) const

返回一个指向QAction的指针,封装了特定网页的动作。

[slot] void QWebEngineView::reload()

重新加载当前的文档。

[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())

设置网页视图内容到数据里。如果mimeType是空参数,将假定该内容是text/plain,charset=US-ASCII。外部对象在内容里引用的路径是相对于baseUrl

该数据会被立刻加载。外部对象会被异步加载。

另请参见 load(), setHtml(), 和 QWebEnginePage::toHtml().

void QWebEngineView::setHtml(const QString &html, const QUrl &baseUrl = QUrl())

将Web视图的内容设置为指定的html内容。

外部对象(例如HTML文档中引用的样式表或图像)相对于baseUrl定位。
HTML文档将立即加载,而外部对象则异步加载。

使用此方法时,除非另有说明,否则Qt WebEngine假定外部资源(例如JavaScript程序或样式表)均以UTF-8编码。 例如,可以通过HTML脚本标签的charset属性指定外部脚本的编码。 或者,可以由Web服务器指定编码。
这是一个等效于setContent(html,“ text / html; charset = UTF-8”,baseUrl)的便利函数。

void QWebEngineView::setPage(QWebEnginePage *page)

确保设置page页面到页面视图中。

该父类QObject提供页面维护网页视图对象。如果当前页面是该网页视图的子类,它将会被删除。

**警告:**此功能仅适用于HTML。 对于其他MIME类型(例如XHTML或SVG),应改用setContent()。

注意: 无法显示大于2 MB的内容,因为setHtml()会将提供的HTML转换为百分比编码并将数据:放在其前面以创建要导航到的URL。 从而,提供的代码将成为超出Chromium设置的2 MB限制的URL。 如果内容太大,则使用success = false触发loadFinished()信号。

另请参见 load(), setContent(), QWebEnginePage::toHtml(), 和 QWebEnginePage::setContent().

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().

void QWebEngineView::triggerPageAction(QWebEnginePage::WebAction action, bool checked = false)

触发特定的动作。如果它是可以选中的动作,这个特殊的选中状态被设定。

接下来的例子触发了复制动作,因此会拷贝任何选中的文本到剪贴板上。

      view->triggerPageAction(QWebEnginePage::Copy);

另请参见 pageAction().

[signal] void QWebEngineView::urlChanged(const QUrl &url)

当该视图的url改变时,发出该信号。

另请参见 url() 和 load().

 类似资料: