PySide6.QtWebEngineWidgets.QWebEngineView

class QWebEngineView

QWebEngineView 类提供了一个用于查看和编辑网页文档的小部件。更多

PySide6.QtWebEngineWidgets.QWebEngineView 的继承图

概要

属性

方法

虚拟方法

插槽

信号

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

一个网页视图是Qt WebEngine网页浏览模块的主要小部件组件。它可以用于各种应用程序中,以实时显示来自互联网的网页内容。

一个网站可以通过load()函数加载到网页视图中。GET方法总是用于加载URL。

与所有Qt小部件一样,必须调用show()函数以显示网页视图。下面的代码片段说明了这一点:

view = QWebEngineView()
view.load(QUrl("https://qt-project.org/"))
view.resize(1024, 750)
view.show()

或者,可以使用setUrl()来加载一个网站。如果你已经有现成的HTML内容,你可以使用setHtml()来代替。

当视图开始加载时,loadStarted()信号被发出,每当网页视图中的一个元素(如嵌入的图像或脚本)完成加载时,loadProgress()信号被发出。当视图完全加载时,loadFinished()信号被发出。它的参数,truefalse,表示加载是否成功或失败。

page() 函数返回一个指向网页对象的指针。一个QWebEngineView包含一个QWebEnginePage,而它又允许访问页面上下文中的QWebEngineHistory

HTML文档的标题可以通过title()属性访问。此外,网站可以指定一个图标,可以使用icon()或其URL通过iconUrl()属性访问。如果标题或图标发生变化,将发出相应的titleChanged()iconChanged()iconUrlChanged()信号。zoomFactor()属性允许通过缩放因子缩放网页内容。

该小部件具有一个上下文菜单,该菜单针对当前元素进行了定制,并包含在浏览器中有用的操作。对于自定义上下文菜单,或将操作嵌入菜单或工具栏中,可以通过pageAction()获取各个操作。Web视图维护返回操作的状态,但允许修改操作属性,如文本或图标。操作语义也可以通过triggerPageAction()直接触发。

如果你想为允许用户打开新窗口的网站提供支持,例如弹出窗口,你可以子类化 QWebEngineView 并重新实现 createWindow() 函数。

另请参阅

WebEngine 小部件简单浏览器示例 WebEngine 内容操作示例

注意

当使用from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。

property hasSelectionᅟ: bool

此属性表示此页面是否包含选定的内容。

默认情况下,此属性为 false

另请参阅

selectionChanged()

Access functions:
property iconᅟ: QIcon

此属性保存与当前查看页面关联的图标。

默认情况下,此属性包含一个空图标。

Access functions:
property iconUrlᅟ: QUrl

此属性保存与当前查看页面关联的图标的URL。

默认情况下,此属性包含一个空的URL。

Access functions:
property selectedTextᅟ: str

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

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

Access functions:
property titleᅟ: str

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

等同于 title()

另请参阅

titleChanged()

Access functions:
property urlᅟ: QUrl

此属性保存当前查看的网页的URL。

设置此属性将清除视图并加载URL。

默认情况下,此属性包含一个空的、无效的URL。

另请参阅

load() urlChanged()

Access functions:
property zoomFactorᅟ: float

此属性保存视图的缩放因子。

有效值在0.255.0之间。默认因子为1.0

Access functions:
__init__([parent=None])
Parameters:

父级QWidget

使用父级 parent 构造一个空的网页视图。

另请参阅

load()

__init__(page[, parent=None])
Parameters:

构建一个包含 page 的网页视图,其父级为 parent

注意

page的所有权未被获取,调用者有责任确保它被删除。

另请参阅

load() setPage()

__init__(profile[, parent=None])
Parameters:

使用profile和父级parent构造一个空的网页视图。

注意

profile 对象的所有权未被获取,它应该比视图更持久。

另请参阅

load()

back()

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

便利插槽,用于加载通过导航链接构建的文档列表中的前一个文档。如果没有前一个文档,则不执行任何操作。

它等同于:

view.page().triggerAction(QWebEnginePage.Back)

另请参阅

forward() pageAction()

createStandardContextMenu()
Return type:

QMenu

创建一个标准上下文菜单并返回指向它的指针。

createWindow(type)
Parameters:

类型WebWindowType

Return type:

QWebEngineView

每次页面想要创建给定type的新窗口时,都会从关联的QWebEnginePagecreateWindow()方法中调用此函数。例如,当发出在新窗口中打开文档的JavaScript请求时。

注意

如果重新实现了关联页面的createWindow()方法,则不会调用此方法,除非在重新实现中明确调用。

另请参阅

createWindow()

findText(subString[, options={}])
Parameters:
  • subString – 字符串

  • optionsFindFlag 的组合

findText(subString, options, resultCallback)
Parameters:
  • subString – str

  • optionsFindFlag 的组合

  • resultCallbackPyCallable

static forPage(page)
Parameters:

页面QWebEnginePage

Return type:

QWebEngineView

返回与page关联的视图(如果有)。

另请参阅

page() setPage()

forward()

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

便利插槽,加载通过导航链接构建的文档列表中的下一个文档。如果没有下一个文档,则不执行任何操作。

它等同于:

view.page().triggerAction(QWebEnginePage.Forward)

另请参阅

back() pageAction()

hasSelection()
Return type:

布尔

属性 hasSelectionᅟ 的获取器。

history()
Return type:

QWebEngineHistory

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

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

它等同于:

view.page().history()
icon()
Return type:

QIcon

属性 iconᅟ 的获取器。

iconChanged(icon)
Parameters:

图标QIcon

当与视图关联的图标(“favicon”)更改时,会发出此信号。新图标由 icon 指定。

属性 iconᅟ 的通知信号。

iconUrl()
Return type:

QUrl

属性 iconUrlᅟ 的获取器。

iconUrlChanged(url)
Parameters:

urlQUrl

当与视图关联的图标(“favicon”)的URL更改时,会发出此信号。新的URL由url指定。

属性 iconUrlᅟ 的通知信号。

lastContextMenuRequest()
Return type:

QWebEngineContextMenuRequest

返回有关当前上下文菜单的附加数据。仅在调用contextMenuEvent()期间保证有效。

load(url)
Parameters:

urlQUrl

加载指定的 url 并显示它。

注意

视图保持不变,直到有足够的数据到达以显示新的URL。

load(request)
Parameters:

请求QWebEngineHttpRequest

发出指定的request并加载响应。

loadFinished(ok)
Parameters:

ok – 布尔值

当页面加载完成时,会发出此信号。ok 将指示加载是否成功或是否发生了错误。

另请参阅

loadStarted()

loadProgress(progress)
Parameters:

progress – 整数

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

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

loadStarted()

当页面开始新加载时,会发出此信号。

page()
Return type:

QWebEnginePage

返回指向底层网页的指针。

另请参阅

setPage()

pageAction(action)
Parameters:

动作WebAction

Return type:

QAction

返回一个指向封装了指定web操作action的QAction的指针。如果QAction缺少图标,此函数还会为其设置一个默认样式的图标。

pdfPrintingFinished(filePath, success)
Parameters:
  • filePath – str

  • success – 布尔值

当将网页打印成PDF文件完成时,会发出此信号。filePath 将包含请求创建文件的路径,如果文件成功创建,success 将为 true,否则为 false

另请参阅

printToPdf()

print(printer)
Parameters:

打印机QPrinter

将页面的当前内容渲染成一个临时的PDF文档,然后使用printer进行打印。

创建和打印PDF文档的设置将从printer对象中获取。

当信号完成时,printFinished() 会发出,true 表示成功,false 表示失败。

用户有责任确保printerprintFinished()发出之前保持有效。

注意

打印功能运行在浏览器进程中,默认情况下该进程不是沙盒化的。

注意

打印的数据生成步骤可以通过使用Stop网络操作短暂中断。

注意

此函数在渲染到printer时会将结果栅格化。请考虑将printer的默认分辨率提高到至少300 DPI,或使用printToPdf()以更有效地生成PDF文件输出。

printFinished(success)
Parameters:

success – 布尔值

当使用print()请求的打印完成时,会发出此信号。参数success在成功时为true,失败时为false

另请参阅

print()

printRequested()

当调用JavaScript的window.print()方法或用户按下PDF查看器插件的打印按钮时,会发出此信号。通常,信号处理程序可以简单地调用print()

自6.8版本起,此信号仅为主框架发出,而不是为任何请求打印的框架发出。

printRequestedByFrame(frame)
Parameters:

frameQWebEngineFrame

当在frame上调用JavaScript的window.print()方法时,会发出此信号。如果该帧是主帧,则会发出printRequested信号。

另请参阅

printRequested() print()

printToPdf(filePath[, layout=QPageLayout(QPageSize(QPageSize.A4), QPageLayout.Portrait, QMarginsF())[, ranges={}]])
Parameters:

将页面的当前内容渲染为PDF文档,并将其保存在filePath中指定的位置。生成的PDF文档的页面大小和方向取自layout中指定的值,而打印的页面范围取自ranges,默认情况下是打印所有页面。

此方法发出一个异步请求,将网页打印为PDF并立即返回。要了解请求的结果,请连接到信号 pdfPrintingFinished()

如果在提供的文件路径下已经存在一个文件,它将被覆盖。

另请参阅

pdfPrintingFinished()

reload()

重新加载当前文档。

renderProcessTerminated(terminationStatus, exitCode)
Parameters:

当渲染进程以非零退出状态终止时,会发出此信号。terminationStatus 是进程的终止状态,exitCode 是进程终止时的状态码。

selectedText()
Return type:

字符串

属性 selectedTextᅟ 的获取器。

selectionChanged()

每当选择发生变化时,都会发出此信号。

注意

当使用鼠标通过左键点击并拖动来选择文本时,每次选择新字符时都会发出信号,而不是在释放鼠标左键时发出。

另请参阅

selectedText()

setContent(data[, mimeType=""[, baseUrl=QUrl()]])
Parameters:

将网页视图的内容设置为data。如果mimeType参数为空,则假定内容为text/plain,charset=US-ASCII

内容中引用的外部对象相对于baseUrl定位。要加载具有相对URL的外部对象,baseUrl不能为空。

数据立即加载;外部对象异步加载。

另请参阅

load() setHtml() toHtml()

setHtml(html[, baseUrl=QUrl()])
Parameters:
  • html – str

  • baseUrlQUrl

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

baseUrl 是可选的,用于解析文档中的相对URL,例如引用的图像或样式表。例如,如果 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 编码,除非另有说明。例如,外部脚本的编码可以通过 HTML script 标签的 charset 属性指定。或者,编码可以由网络服务器指定。

这是一个便捷函数,等同于 setContent(html, "text/html;charset=UTF-8", baseUrl)

警告

此函数仅适用于HTML。对于其他MIME类型(如XHTML或SVG),应使用setContent()代替。

注意

大于2 MB的内容无法显示,因为setHtml()将提供的HTML转换为百分比编码,并在其前面加上data:以创建它导航到的URL。因此,提供的代码成为一个超过Chromium设置的2 MB限制的URL。如果内容太大,loadFinished()信号将以success=false触发。

setPage(page)
Parameters:

页面QWebEnginePage

使page成为web视图的新网页。

提供的页面的父QObject仍然是该对象的所有者。如果当前页面是web视图的子页面,它将被删除。

另请参阅

page()

setUrl(url)
Parameters:

urlQUrl

另请参阅

url()

属性 urlᅟ 的设置器。

setZoomFactor(factor)
Parameters:

factor – 浮点数

另请参阅

zoomFactor()

属性 zoomFactorᅟ 的设置器。

settings()
Return type:

QWebEngineSettings

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

返回指向视图或页面特定设置对象的指针。

它等同于:

view.page().settings()
stop()

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

停止加载文档的便捷插槽。

它等同于:

view.page().triggerAction(QWebEnginePage.Stop)
title()
Return type:

字符串

属性 titleᅟ 的获取器。

titleChanged(title)
Parameters:

标题 – str

每当视图的title发生变化时,都会发出此信号。

另请参阅

title()

triggerPageAction(action[, checked=false])
Parameters:

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

触发指定的action。如果它是一个可检查的操作,则假定指定的checked状态。

以下示例触发复制操作,因此将任何选定的文本复制到剪贴板。

view.triggerPageAction(QWebEnginePage.Copy)

另请参阅

pageAction()

url()
Return type:

QUrl

另请参阅

setUrl()

属性 urlᅟ 的获取器。

urlChanged(url)
Parameters:

urlQUrl

当视图的url发生变化时,会发出此信号。

另请参阅

url() load()

zoomFactor()
Return type:

浮点数

另请参阅

setZoomFactor()

属性 zoomFactorᅟ 的获取器。