QWebEnginePage 类

QWebEnginePage 类提供用于查看和编辑 Web 文档的对象。 更多...

头: #include <QWebEnginePage>
qmake: QT += webenginewidgets
Since: Qt 5.4
继承: QObject

公共类型

enum Feature { Geolocation, MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, MouseLock }
enum FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple }
enum FindFlag { FindBackward, FindCaseSensitively }
flags FindFlags
enum JavaScriptConsoleMessageLevel { InfoMessageLevel, WarningMessageLevel, ErrorMessageLevel }
enum NavigationType { NavigationTypeLinkClicked, NavigationTypeTyped, NavigationTypeFormSubmitted, NavigationTypeBackForward, NavigationTypeReload, NavigationTypeOther }
enum PermissionPolicy { PermissionUnknown, PermissionGrantedByUser, PermissionDeniedByUser }
enum RenderProcessTerminationStatus { NormalTerminationStatus, AbnormalTerminationStatus, CrashedTerminationStatus, KilledTerminationStatus }
enum WebAction { NoWebAction, Back, Forward, Stop, ..., ViewSource }
enum WebWindowType { WebBrowserWindow, WebBrowserTab, WebDialog, WebBrowserBackgroundTab }

特性

公共函数

QWebEnginePage (QObject * parent = Q_NULLPTR)
QWebEnginePage (QWebEngineProfile * profile , QObject * parent = Q_NULLPTR)
~QWebEnginePage ()
QAction * action (WebAction action ) const
QColor backgroundColor () const
QSizeF contentsSize () const
const QWebEngineContextMenuData & contextMenuData () const
QMenu * createStandardContextMenu ()
void findText (const QString & subString , FindFlags options = FindFlags())
void findText (const QString & subString , FindFlags options , FunctorOrLambda resultCallback )
bool hasSelection () const
QWebEngineHistory * history () const
QIcon icon () const
QUrl iconUrl () const
bool isAudioMuted () const
void load (const QUrl & url )
void load (const QWebEngineHttpRequest & request )
void print (QPrinter * printer , FunctorOrLambda resultCallback )
void printToPdf (const QString & filePath , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() ))
void printToPdf (FunctorOrLambda resultCallback , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() ))
QWebEngineProfile * profile () const
bool recentlyAudible () const
void replaceMisspelledWord (const QString & replacement )
QUrl requestedUrl () const
void runJavaScript (const QString & scriptSource , quint32 worldId , FunctorOrLambda resultCallback )
void runJavaScript (const QString & scriptSource , quint32 worldId )
void runJavaScript (const QString & scriptSource , FunctorOrLambda resultCallback )
void runJavaScript (const QString & scriptSource )
void save (const QString & filePath , QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const
QWebEngineScriptCollection & scripts ()
QPointF scrollPosition () const
QString selectedText () const
void setAudioMuted (bool muted )
void setBackgroundColor (const QColor & color )
void setContent (const QByteArray & data , const QString & mimeType = QString(), const QUrl & baseUrl = QUrl())
void setFeaturePermission (const QUrl & securityOrigin , Feature feature , PermissionPolicy policy )
void setHtml (const QString & html , const QUrl & baseUrl = QUrl())
void setUrl (const QUrl & url )
void setView (QWidget * view )
void setWebChannel (QWebChannel * channel , uint worldId )
void setWebChannel (QWebChannel * channel )
void setZoomFactor (qreal factor )
QWebEngineSettings * settings () const
QString title () const
void toHtml (FunctorOrLambda resultCallback ) const
void toPlainText (FunctorOrLambda resultCallback ) const
virtual void triggerAction (WebAction action , bool checked = false)
QUrl url () const
QWidget * view () const
QWebChannel * webChannel () const
qreal zoomFactor () const

重实现公共函数

virtual bool event (QEvent * e )

信号

void audioMutedChanged (bool muted )
void authenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator )
void contentsSizeChanged (const QSizeF & size )
void featurePermissionRequestCanceled (const QUrl & securityOrigin , QWebEnginePage::Feature feature )
void featurePermissionRequested (const QUrl & securityOrigin , QWebEnginePage::Feature feature )
void fullScreenRequested (QWebEngineFullScreenRequest request )
void geometryChangeRequested (const QRect & geom )
void iconChanged (const QIcon & icon )
void iconUrlChanged (const QUrl & url )
void linkHovered (const QString & url )
void loadFinished (bool ok )
void loadProgress (int progress )
void loadStarted ()
void pdfPrintingFinished (const QString & filePath , bool success )
void proxyAuthenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator , const QString & proxyHost )
void recentlyAudibleChanged (bool recentlyAudible )
void renderProcessTerminated (RenderProcessTerminationStatus terminationStatus , int exitCode )
void scrollPositionChanged (const QPointF & position )
void selectionChanged ()
void titleChanged (const QString & title )
void urlChanged (const QUrl & url )
void windowCloseRequested ()

保护函数

virtual bool acceptNavigationRequest (const QUrl & url , NavigationType type , bool isMainFrame )
virtual bool certificateError (const QWebEngineCertificateError & certificateError )
virtual QStringList chooseFiles (FileSelectionMode mode , const QStringList & oldFiles , const QStringList & acceptedMimeTypes )
virtual QWebEnginePage * createWindow (WebWindowType type )
virtual void javaScriptAlert (const QUrl & securityOrigin , const QString & msg )
virtual bool javaScriptConfirm (const QUrl & securityOrigin , const QString & msg )
virtual void javaScriptConsoleMessage (JavaScriptConsoleMessageLevel level , const QString & message , int lineNumber , const QString & sourceID )
virtual bool javaScriptPrompt (const QUrl & securityOrigin , const QString & msg , const QString & defaultValue , QString * result )

额外继承成员

详细描述

QWebEnginePage 类提供用于查看和编辑 Web 文档的对象。

Web 引擎页面 保持 HTML 文档的内容、导航链接的历史及动作。

QWebEnginePage 的 API 非常类似 QWebEngineView ,仍提供常用功能像 action () (称为 pageAction () 在 QWebEngineView ), triggerAction (),和 findText ().

页面可以被加载使用 load () 或 setUrl ()。另外,若拥有随时可用的 HTML 内容,可以使用 setHtml ()。GET 方法始终被用于加载 URL。

QWebEnginePage 类还提供方法去检索目前由页面加载的 URL (见 url ()) 及要被加载的最初请求 URL (见 requestedUrl ))。这些方法使在加载进程期间发生 DNS 解答 (或重定向) 前后检索 URL 成为可能。 requestedUrl () 还匹配被添加到页面历史的 URL ( QWebEngineHistory ) 若加载成功。

HTML 页面标题可以被访问采用 title () 特性。此外,页面还可以指定图标,其可以被访问使用 icon () 或其 URL 使用 iconUrl () 特性。若标题或图标改变,相应 titleChanged (), iconChanged () 和 iconUrlChanged () 信号会被发射。 zoomFactor () 特性使能够按比例因子缩放网页内容。

loadStarted () 信号被发射,当页面开始加载时,而 loadProgress () 信号被发射,每当网页元素 (如嵌入图像或脚本) 完成加载时。 loadFinished () 信号被发射,当页面内容已加载完成时 (独立于脚本执行或页面渲染)。其自变量,是 true or false ,指示加载操作是否成功。

HTML 文档被加载于 main frame 在网页中。若它引用 child frames (作为定义通过 <frame> or <iframe> 元素),它们被认为是内容的一部分。子级框架只可透过 JavaScript 单独访问。

网站定义 security origin 为客户端侧脚本 (或数据库) 安全访问彼此资源。来源由主机名、方案及端口号组成。例如站点 http://www.example.com/my/page.html and http://www.example.com/my/overview.html 允许共享同一数据库或访问彼此的文档,当用于 HTML 框架集和 JavaScript 时。同时, http://www.malicious.com/evil.html 被阻止访问其下资源为 http://www.example.com/ ,因为它们是不同安全来源。默认情况下,本地方案像 file:// and qrc:// 被认为是在同一安全来源中,且可以访问彼此资源。默认情况下,限定本地资源访问远程内容,这意味着 file:// 将不能访问 http://domain.com/foo.html .

脚本可以被执行在网页通过使用 runJavaScript (),在主 JavaScript world ,来自 web 内容的其它 JavaScript,或在它们自己的独立世界。虽然页面的 DOM 可以被访问从任何世界,但在某一世界中定义的 JavaScript 函数变量是不能从另一世界访问的。 QWebEngineScript::ScriptWorldId 为此目的提供了一些预定义 ID。使用 runJavaScript() 在世界 ID 外版本如同运行脚本在 MainWorld .

FocusOnNavigationEnabled setting can be used to stop the view associated with the page from automatically receiving focus when a navigation operation occurs (like loading or reloading a page or navigating through history).

成员类型文档编制

enum QWebEnginePage:: 特征

此枚举描述用户可能被要求授予 (或拒绝) 访问的平台特征访问类别:

常量 描述
QWebEnginePage::Geolocation 1 定位硬件或服务。
QWebEnginePage::MediaAudioCapture 2 音频捕获设备 (譬如:麦克风)。
QWebEnginePage::MediaVideoCapture 3 视频设备 (譬如:摄像头)。
QWebEnginePage::MediaAudioVideoCapture 4 音频和视频捕获设备。
QWebEnginePage::MouseLock 5 鼠标锁定,将鼠标指针锁定到 Web 视图 (通常用于游戏)。

另请参阅 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 PermissionPolicy .

enum QWebEnginePage:: FileSelectionMode

此枚举指示实现的 chooseFiles () 函数应该仅返回一个文件或可以返回多个文件:

常量 描述
QWebEnginePage::FileSelectOpen 0 只返回一个文件名。
QWebEnginePage::FileSelectOpenMultiple 1 返回多个文件名。

另请参阅 chooseFiles ().

enum QWebEnginePage:: FindFlag
flags QWebEnginePage:: FindFlags

此枚举描述的选项可用于 findText () 函数。可以 OR 组合下表中的选项:

常量 描述
QWebEnginePage::FindBackward 1 向后搜索,而不是向前。
QWebEnginePage::FindCaseSensitively 2 默认情况下 findText () 工作不区分大小写。指定此选项把行为改为区分大小写的查找操作。

FindFlags 类型是 typedef 对于 QFlags <FindFlag>。它存储 FindFlag 值的 OR 组合。

enum QWebEnginePage:: JavaScriptConsoleMessageLevel

此枚举描述了 JavaScript 控制台消息,可以拥有的不同严重级别:

常量 描述
QWebEnginePage::InfoMessageLevel 0 消息为纯情报且可以被安全忽略。
QWebEnginePage::WarningMessageLevel 1 消息告知可能需要关注的意外行为 (或错误)。
QWebEnginePage::ErrorMessageLevel 2 消息指示出现错误。

此枚举描述导航请求类型:

常量 描述
QWebEnginePage::NavigationTypeLinkClicked 0 导航请求由点击链接产生。
QWebEnginePage::NavigationTypeTyped 1 导航请求由明确加载 URL 产生。
QWebEnginePage::NavigationTypeFormSubmitted 2 导航请求由表单提交产生。
QWebEnginePage::NavigationTypeBackForward 3 导航请求由后退或前进动作产生。
QWebEnginePage::NavigationTypeReload 4 导航请求由重新加载动作产生。
QWebEnginePage::NavigationTypeOther 5 导航请求由上述未涵盖的其它手段触发。

另请参阅 acceptNavigationRequest ().

enum QWebEnginePage:: PermissionPolicy

此枚举描述用户可以为数据或设备访问设置的权限策略:

常量 描述
QWebEnginePage::PermissionUnknown 0 用户是否授予或拒绝权限未知。
QWebEnginePage::PermissionGrantedByUser 1 用户已授予权限。
QWebEnginePage::PermissionDeniedByUser 2 用户已拒绝权限。

另请参阅 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 Feature .

enum QWebEnginePage:: RenderProcessTerminationStatus

此枚举描述渲染进程终止状态:

常量 描述
QWebEnginePage::NormalTerminationStatus 0 渲染进程正常终止。
QWebEnginePage::AbnormalTerminationStatus 1 渲染进程以非零退出状态终止。
QWebEnginePage::CrashedTerminationStatus 2 渲染进程崩溃 (例如:由于分段故障)。
QWebEnginePage::KilledTerminationStatus 3 渲染进程被杀除,例如被 SIGKILL 或被任务管理器杀除。

该枚举在 Qt 5.6 引入或被修改。

enum QWebEnginePage:: WebAction

此枚举描述可以在网页上履行的动作类型。

Actions only have an effect when they are applicable. The availability of actions can be be determined by checking isEnabled() 在返回动作通过 action ().

常量 描述
QWebEnginePage::NoWebAction -1 没有动作被触发。
QWebEnginePage::Back 0 在导航链接历史中后退导航。
QWebEnginePage::Forward 1 在导航链接历史中前进导航。
QWebEnginePage::Stop 2 停止加载当前页面。
QWebEnginePage::Reload 3 重新加载当前页面。
QWebEnginePage::ReloadAndBypassCache 10 重新加载当前页面,但不使用任何本地缓存。
QWebEnginePage::Cut 4 把目前选中内容剪切到剪贴板。
QWebEnginePage::Copy 5 把目前选中内容拷贝到剪贴板。
QWebEnginePage::Paste 6 从剪贴板粘贴内容。
QWebEnginePage::Undo 7 撤消上一编辑动作。
QWebEnginePage::Redo 8 重做上一编辑动作。
QWebEnginePage::SelectAll 9 Select all content.
QWebEnginePage::PasteAndMatchStyle 11 采用当前样式从剪贴板粘贴内容。
QWebEnginePage::OpenLinkInThisWindow 12 在当前窗口中打开当前链接。(在 Qt 5.6 添加)
QWebEnginePage::OpenLinkInNewWindow 13 Open the current link in a new window. (Added in Qt 5.6)
QWebEnginePage::OpenLinkInNewTab 14 Open the current link in a new tab. (Added in Qt 5.6)
QWebEnginePage::OpenLinkInNewBackgroundTab 31 Open the current link in a new background tab. (Added in Qt 5.7)
QWebEnginePage::CopyLinkToClipboard 15 把当前链接拷贝到剪贴板。(在 Qt 5.6 添加)
QWebEnginePage::CopyImageToClipboard 17 把被点击图像拷贝到剪贴板。(在 Qt 5.6 添加)
QWebEnginePage::CopyImageUrlToClipboard 18 把被点击图像的 URL 拷贝到剪贴板。(在 Qt 5.6 添加)
QWebEnginePage::CopyMediaUrlToClipboard 20 把悬停音频或视频的 URL 拷贝到剪贴板。(在 Qt 5.6 添加)
QWebEnginePage::ToggleMediaControls 21 在展示和隐藏悬停音频或视频元素控件之间触发。(在 Qt 5.6 添加)
QWebEnginePage::ToggleMediaLoop 22 触发悬停音频或视频是否应在完成时循环。(在 Qt 5.6 添加)
QWebEnginePage::ToggleMediaPlayPause 23 触发悬停音频或视频元素的播放/暂停状态。(在 Qt 5.6 添加)
QWebEnginePage::ToggleMediaMute 24 静音或取消静音悬停的音频或视频元素。(在 Qt 5.6 添加)
QWebEnginePage::DownloadLinkToDisk 16 Download the current link to the disk. (Added in Qt 5.6)
QWebEnginePage::DownloadImageToDisk 19 Download the highlighted image to the disk. (Added in Qt 5.6)
QWebEnginePage::DownloadMediaToDisk 25 Download the hovered audio or video to the disk. (Added in Qt 5.6)
QWebEnginePage::InspectElement 26 触发任何附加 Web 审查器以审查高亮元素。(在 Qt 5.6 添加)
QWebEnginePage::ExitFullScreen 27 退出全屏模式。(在 Qt 5.6 添加)
QWebEnginePage::RequestClose 28 请求关闭网页。若有定义, window.onbeforeunload 处理程序运行,且用户可以确认或拒绝关闭页面。若有确认关闭请求, windowCloseRequested 被发射。(在 Qt 5.6 添加)
QWebEnginePage::Unselect 29 清零当前选定。(在 Qt 5.7 添加)
QWebEnginePage::SavePage 30 Save the current page to disk. MHTML is the default format that is used to store the web page on disk. (Added in Qt 5.7)
QWebEnginePage::ViewSource 32 Show the source of the current page in a new tab. (Added in Qt 5.8)

enum QWebEnginePage:: WebWindowType

此枚举描述可以创建的窗口类型通过 createWindow () 函数:

常量 描述
QWebEnginePage::WebBrowserWindow 0 完整 Web 浏览器窗口。
QWebEnginePage::WebBrowserTab 1 Web 浏览器选项卡。
QWebEnginePage::WebDialog 2 没有装饰的窗口。
QWebEnginePage::WebBrowserBackgroundTab 3 Web 浏览器选项卡不隐藏当前可见 WebEngineView 。(在 Qt 5.7 添加)

特性文档编制

audioMuted : bool

此特性保持当前页面音频是否被静音。

默认值为 false .

该特性在 Qt 5.7 引入。

访问函数:

bool isAudioMuted () const
void setAudioMuted (bool muted )

通知程序信号:

void audioMutedChanged (bool muted )

另请参阅 recentlyAudible .

backgroundColor : QColor

此特性保持文档本体背后的页面背景颜色。

可以把背景颜色设为 Qt::transparent 或半透明颜色以透视文档,或将其设为匹配混合应用程序 Web 内容以防在加载期间可能出现的白色闪烁。

默认值为白色。

该特性在 Qt 5.6 引入。

访问函数:

QColor backgroundColor () const
void setBackgroundColor (const QColor & color )

contentsSize : const QSizeF

The size of the page contents.

该特性在 Qt 5.7 引入。

访问函数:

QSizeF contentsSize () const

通知程序信号:

void contentsSizeChanged (const QSizeF & size )

hasSelection : const bool

此特性保持此页面是否包含选定内容。

访问函数:

bool hasSelection () const

另请参阅 selectionChanged ().

icon : const QIcon

This property holds the icon associated with the page currently viewed

默认情况下,此属性包含 null 图标。若网页指定一个以上图标, icon 特性将可用候选图标封装于单个、可伸缩 QIcon .

该特性在 Qt 5.7 引入。

访问函数:

QIcon icon () const

通知程序信号:

void iconChanged (const QIcon & icon )

另请参阅 iconChanged (), iconUrl (),和 iconUrlChanged ().

iconUrl : const QUrl

This property holds the URL of the icon associated with the page currently viewed

默认情况下,此特性包含空 URL。

访问函数:

QUrl iconUrl () const

通知程序信号:

void iconUrlChanged (const QUrl & url )

另请参阅 iconUrlChanged (), icon (),和 iconChanged ().

recentlyAudible : const bool

此特性保持当前页面的 audible state ,也就是,音频最近是否有被播放。

默认值为 false .

该特性在 Qt 5.7 引入。

访问函数:

bool recentlyAudible () const

通知程序信号:

void recentlyAudibleChanged (bool recentlyAudible )

另请参阅 audioMuted .

requestedUrl : const QUrl

This property holds the URL that was originally requested to be loaded by the page that is currently viewed

注意: URL 可能异于返回的经由 url (),它是来自 DNS 解析或重定向结果的实际 URL。

访问函数:

QUrl requestedUrl () const

另请参阅 url () 和 setUrl ().

scrollPosition : const QPointF

此特性保持页面内容的卷动位置。

该特性在 Qt 5.7 引入。

访问函数:

QPointF scrollPosition () const

通知程序信号:

void scrollPositionChanged (const QPointF & position )

selectedText : const QString

This property holds the text currently selected

默认情况下,此特性包含空字符串。

访问函数:

QString selectedText () const

另请参阅 selectionChanged ().

title : const QString

此特性保持页面的标题,作为定义通过 HTML <title> element

访问函数:

QString title () const

另请参阅 titleChanged ().

url : QUrl

This property holds the URL of the page currently viewed

设置此特性清零视图并加载 URL。

默认情况下,此特性包含空的无效 URL。

访问函数:

QUrl url () const
void setUrl (const QUrl & url )

另请参阅 urlChanged ().

zoomFactor : qreal

This property holds the zoom factor for the page content

有效值范围从 0.25 to 5.0 。默认因子为 1.0 .

访问函数:

qreal zoomFactor () const
void setZoomFactor (qreal factor )

成员函数文档编制

QWebEnginePage:: QWebEnginePage ( QObject * parent = Q_NULLPTR)

构造空的 QWebEnginePage 采用父级 parent .

QWebEnginePage:: QWebEnginePage ( QWebEngineProfile * profile , QObject * parent = Q_NULLPTR)

构造空的 Web 引擎页面按 Web 引擎配置文件 profile 采用父级 parent .

若 profile (配置文件) 不是默认配置文件,调用者必须确保该配置文件保持存活只要页面存在。

该函数在 Qt 5.5 引入。

QWebEnginePage:: ~QWebEnginePage ()

销毁 Web 页面。

[virtual protected] bool QWebEnginePage:: acceptNavigationRequest (const QUrl & url , NavigationType type , bool isMainFrame )

此函数被调用在接收请求以导航到指定 url 通过指定导航类型 type . isMainFrame 指示请求对应主框架或子级框架。若函数返回 true ,导航请求被接受且 url 被加载。默认实现接受所有导航请求。

此函数被调用为加前缀的绝对 URL 采用 http:// or https:// 及为无法识别方案,譬如 mailto: ,其会被处理通过 QDesktopServices 若接受。要在接收请求导航到本地 URL 时也调用此函数,URL 前缀采用 http:// .

导航请求可以被委托给 Qt 应用程序,而不是让 HTML 处理程序引擎通过重载此函数处理它们。这是必要的,当把 HTML 文档用作用户界面的一部分,且不显示外部数据时 (例如:当显示结果列表时)。

QWebEngineUrlRequestInterceptor 类提供用于拦截和操纵请求的进一步选项。

该函数在 Qt 5.5 引入。

QAction *QWebEnginePage:: action ( WebAction action ) const

返回 QAction 为指定 WebAction action .

动作归 QWebEnginePage 但可以通过改变其特性定制外观。

QWebEnginePage 还负责实现动作,以便触发时在页面履行相应动作。

另请参阅 triggerAction ().

[signal] void QWebEnginePage:: audioMutedChanged ( bool muted )

此信号被发射当页面的 muted 状态改变。

注意: 不要混淆特定 HTML5 音频或视频元素的静音。

该函数在 Qt 5.7 引入。

注意: 通知程序信号对于特性 audioMuted .

[signal] void QWebEnginePage:: authenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator )

此信号被发射当访问 requestUrl 要求身份验证。 authenticator 应该被用于传递连接的用户名和口令。

[virtual protected] bool QWebEnginePage:: certificateError (const QWebEngineCertificateError & certificateError )

此函数被调用,当加载给定请求时引发无效证书错误。

certificateError 参数包含证书和错误细节的有关信息。

返回 true 忽略错误并完成请求。返回 false 停止加载请求。

另请参阅 QWebEngineCertificateError .

[virtual protected] QStringList QWebEnginePage:: chooseFiles ( FileSelectionMode mode , const QStringList & oldFiles , const QStringList & acceptedMimeTypes )

This function is called when the web content requests a file name, for example as a result of the user clicking on a file upload button in an HTML form.

mode indicates whether only one file or multiple files are expected to be returned.

A suggested filename may be provided as the first entry of oldFiles . acceptedMimeTypes is ignored by the default implementation, but might be used by overrides.

const QWebEngineContextMenuData &QWebEnginePage:: contextMenuData () const

返回当前上下文菜单的有关额外数据。它仅保证是有效的在调用 QWebEngineView::contextMenuEvent () 处理程序的关联 QWebEngineView .

该函数在 Qt 5.7 引入。

另请参阅 createStandardContextMenu ().

QMenu *QWebEnginePage:: createStandardContextMenu ()

创建标准上下文菜单,当用户采用鼠标右键点击网页时展示。它被调用从默认 contextMenuEvent() 处理程序。弹出菜单的所有权被转移给调用者。

返回 nullptr 若上下文菜单数据未被初始化,例如:在实际不请求上下文菜单时调用它。

[virtual protected] QWebEnginePage *QWebEnginePage:: createWindow ( WebWindowType type )

此函数被调用以创建新窗口,采用指定 type 。例如,当 JavaScript 程序请求在新窗口中打开文档时。

若新窗口可以被创建,新窗口的 QWebEnginePage 被返回;否则 null 指针被返回。

若网页关联视图为 QWebEngineView 对象,则默认实现把请求转发给 QWebEngineView::createWindow ();否则它返回 null 指针。

注意: 在通过 JavaScript 触发创建窗口的情况中,除重实现此方法外,应用程序还必须设置 QWebEngineSettings::JavascriptCanOpenWindows to true in order for the method to get called.

另请参阅 QWebEngineView::createWindow ().

[virtual] bool QWebEnginePage:: event ( QEvent * e )

重实现自 QObject::event ().

[signal] void QWebEnginePage:: featurePermissionRequestCanceled (const QUrl & securityOrigin , QWebEnginePage::Feature feature )

此信号被发射当网站被标识通过 securityOrigin 取消先前发出的请求为使用 feature .

另请参阅 featurePermissionRequested () 和 setFeaturePermission ().

[signal] void QWebEnginePage:: featurePermissionRequested (const QUrl & securityOrigin , QWebEnginePage::Feature feature )

此信号被发射当网站被标识通过 securityOrigin 请求使用的资源或设备的标识通过 feature .

另请参阅 featurePermissionRequestCanceled () 和 setFeaturePermission ().

void QWebEnginePage:: findText (const QString & subString , FindFlags options = FindFlags())

查找指定字符串, subString ,在页面使用给定 options .

要清零搜索高亮,只需传递空字符串。

void QWebEnginePage:: findText (const QString & subString , FindFlags options , FunctorOrLambda resultCallback )

查找指定字符串, subString ,在页面使用给定 options .

要清零搜索高亮,只需传递空字符串。

resultCallback 必须接受布尔参数。它会被调用采用值 true subString 被找到;否则,回调值将为 false .

例如:

    m_view->page()->findText(QStringLiteral("Qt"), QWebEnginePage::FindFlags(), [this](bool found) {
        if (!found) QMessageBox::information(m_view, QString(), QStringLiteral("No occurrences found"));
    });
					

[signal] void QWebEnginePage:: fullScreenRequested ( QWebEngineFullScreenRequest request )

此信号被发射当网页发出进入 Web 元素 (通常为视频元素) 全屏模式的请求时。

请求对象 request 可用于接受或拒绝请求。

若请求被接受,全屏请求元素将填充视口,但由应用程序使视图全屏或将页面移动到全屏视图。

另请参阅 QWebEngineSettings::FullScreenSupportEnabled .

[signal] void QWebEnginePage:: geometryChangeRequested (const QRect & geom )

此信号被发射每当文档希望把页面位置和大小更改为 geom 。这会发生,例如透过 JavaScript。

QWebEngineHistory *QWebEnginePage:: history () const

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

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

此信号被发射当页面关联的 Favicon 图标被改变时。新图标被指定由 icon .

该函数在 Qt 5.7 引入。

注意: 通知程序信号对于特性 icon .

另请参阅 icon (), iconUrl (),和 iconUrlChanged ().

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

此信号被发射当页面关联的 Favicon 图标 URL 被改变时。新图标 URL 被指定由 url .

注意: 通知程序信号对于特性 iconUrl .

另请参阅 iconUrl (), icon (),和 iconChanged ().

[virtual protected] void QWebEnginePage:: javaScriptAlert (const QUrl & securityOrigin , const QString & msg )

此函数被调用,每当 JavaScript 程序运行在附属框架采用 securityOrigin 调用 alert() 函数采用消息 msg .

默认实现展示消息, msg ,采用 QMessageBox::information .

[virtual protected] bool QWebEnginePage:: javaScriptConfirm (const QUrl & securityOrigin , const QString & msg )

此函数被调用,每当 JavaScript 程序运行在附属框架采用 securityOrigin 调用 confirm() 函数采用消息 msg 。返回 true 若用户确认消息;否则返回 false .

它也会被调用当 onbeforeunload 处理程序请求确认在离开页面之前。

默认实现执行查询使用 QMessageBox::information with QMessageBox::Ok and QMessageBox::Cancel 按钮。

[virtual protected] void QWebEnginePage:: javaScriptConsoleMessage ( JavaScriptConsoleMessageLevel level , const QString & message , int lineNumber , const QString & sourceID )

This function is called when a JavaScript program tries to print the message to the web browser's console.

For example, in case of evaluation errors the source URL may be provided in sourceID as well as the lineNumber .

level indicates the severity of the event that triggered the message. That is, whether it was triggered by an error or a less severe event.

Since Qt 5.6, the default implementation logs the messages in a js 日志类别 .

另请参阅 控制台日志 .

[virtual protected] bool QWebEnginePage:: javaScriptPrompt (const QUrl & securityOrigin , const QString & msg , const QString & defaultValue , QString * result )

此函数被调用,每当 JavaScript 程序运行在附属框架采用 securityOrigin tries to prompt the user for input. The program may provide an optional message, msg , as well as a default value for the input in defaultValue .

If the prompt was cancelled by the user, the implementation should return false ; otherwise the result should be written to result and true should be returned. If the prompt was not cancelled by the user, the implementation should return true and the result string must not be null.

默认实现使用 QInputDialog::getText ().

[signal] void QWebEnginePage:: linkHovered (const QString & url )

此信号被发射当鼠标悬停链接上时。 url 包含链接的目标 URL。

void QWebEnginePage:: load (const QUrl & url )

加载 url 进此页面。

注意: 视图仍然相同,直到达成足够数据才显示新 URL。

另请参阅 setUrl (), setHtml (),和 setContent ().

void QWebEnginePage:: load (const QWebEngineHttpRequest & request )

发出指定 request 并加载响应。

该函数在 Qt 5.9 引入。

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

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

此信号被发射当页面内容加载完成时。此信号独立于脚本执行 (或页面渲染)。 ok 将指示加载是否成功 (或发生任何错误)。

另请参阅 loadStarted ().

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

此信号被发射当全局进度状态改变时。当前值被提供由 progress 并缩放到 0 - 100,其是默认范围为 QProgressBar 。它累计所有子级帧的变化。

[signal] void QWebEnginePage:: loadStarted ()

此信号被发射当页面开始加载内容。

另请参阅 loadFinished ().

[signal] void QWebEnginePage:: pdfPrintingFinished (const QString & filePath , bool success )

此信号被发射当把网页打印成 PDF 文件已完成时。 filePath will contain the path the file was requested to be created at, and success 将是 true if the file was successfully created and false 否则。

该函数在 Qt 5.9 引入。

另请参阅 printToPdf ().

void QWebEnginePage:: print ( QPrinter * printer , FunctorOrLambda resultCallback )

Renders the current content of the page into a temporary PDF document, then prints it using printer .

The settings for creating and printing the PDF document will be retrieved from the printer object. It is the users responsibility to ensure the printer remains valid until resultCallback has been called.

resultCallback must take a boolean as parameter. If printing was successful, this boolean will have the value true , otherwise, its value will be false .

该函数在 Qt 5.8 引入。

void QWebEnginePage:: printToPdf (const QString & filePath , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() ))

Renders the current content of the page into a PDF document and saves it in the location specified in filePath . The page size and orientation of the produced PDF document are taken from the values specified in pageLayout .

This method issues an asynchronous request for printing the web page into a PDF and returns immediately. To be informed about the result of the request, connect to the signal pdfPrintingFinished ().

If a file already exists at the provided file path, it will be overwritten.

该函数在 Qt 5.7 引入。

另请参阅 pdfPrintingFinished ().

void QWebEnginePage:: printToPdf ( FunctorOrLambda resultCallback , const QPageLayout & pageLayout = QPageLayout( QPageSize( QPageSize::A4 ), QPageLayout::Portrait, QMarginsF() ))

Renders the current content of the page into a PDF document and returns a byte array containing the PDF data as parameter to resultCallback . The page size and orientation of the produced PDF document are taken from the values specified in pageLayout .

resultCallback must take a const reference to a QByteArray as parameter. If printing was successful, this byte array will contain the PDF data, otherwise, the byte array will be empty.

该函数在 Qt 5.7 引入。

QWebEngineProfile *QWebEnginePage:: profile () const

返回页面所属 Web 引擎配置文件。

该函数在 Qt 5.5 引入。

[signal] void QWebEnginePage:: proxyAuthenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator , const QString & proxyHost )

此信号被发射当访问 requestUrl 凭借 proxyHost 要求对代理进行身份验证。 authenticator 应该被用于传递连接的用户名和口令。

[signal] void QWebEnginePage:: recentlyAudibleChanged ( bool recentlyAudible )

此信号会被发射,当页面的可听见状态, recentlyAudible 改变,因为音频播放或停止。

注意: 信号也会被发射当调用 setAudioMuted () 方法。此外,若音频被暂停,此信号被发射按近似 2 秒延迟 ,从音频被暂停的那一刻起。

该函数在 Qt 5.7 引入。

注意: 通知程序信号对于特性 recentlyAudible .

[signal] void QWebEnginePage:: renderProcessTerminated ( RenderProcessTerminationStatus terminationStatus , int exitCode )

此信号被发射当渲染进程采用非零退出状态被终止时。 terminationStatus 是进程的终止状态,且 exitCode 是进程终止的状态码。

该函数在 Qt 5.6 引入。

void QWebEnginePage:: replaceMisspelledWord (const QString & replacement )

替换当前拼写错误单词采用 replacement .

可以找到当前拼写错误单词在 QWebEngineContextMenuData::misspelledWord (), and suggested replacements in QWebEngineContextMenuData::spellCheckerSuggestions ().

该函数在 Qt 5.8 引入。

另请参阅 contextMenuData ().

void QWebEnginePage:: runJavaScript (const QString & scriptSource , quint32 worldId , FunctorOrLambda resultCallback )

运行包含的 JavaScript 代码在 scriptSource in the world specified by worldId 。世界 ID 值是相同的提供通过 QWebEngineScript::ScriptWorldId . Using the runJavaScript() versions without the world ID is the same as running the script in the MainWorld .

当执行脚本时, resultCallback 被调用带最后执行语句的结果。 resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QVariant 参数。例如:

page.runJavaScript("document.title", [](const QVariant &v) { qDebug() << v.toString(); });
					

警告: 不要在回调函数中执行长例程,因为可能阻塞 Web 引擎页面的渲染。

scripts () for an alternative API to inject scripts.

该函数在 Qt 5.7 引入。

另请参阅 QWebEngineScript::ScriptWorldId .

void QWebEnginePage:: runJavaScript (const QString & scriptSource , quint32 worldId )

此函数重载 runJavaScript ().

This convenience function runs the JavaScript code contained in scriptSource in the world specified by worldId .

该函数在 Qt 5.7 引入。

void QWebEnginePage:: runJavaScript (const QString & scriptSource , FunctorOrLambda resultCallback )

此函数重载 runJavaScript ().

运行包含的 JavaScript 代码在 scriptSource .

The script will run in the same world as other scripts that are part of the loaded site.

当执行脚本时, resultCallback 被调用带最后执行语句的结果。

另请参阅 QWebEngineScript::MainWorld .

void QWebEnginePage:: runJavaScript (const QString & scriptSource )

此函数重载 runJavaScript ().

This convenience function runs the JavaScript code contained in scriptSource in the same world as other scripts that are part of the loaded site.

另请参阅 QWebEngineScript::MainWorld .

void QWebEnginePage:: save (const QString & filePath , QWebEngineDownloadItem::SavePageFormat format = QWebEngineDownloadItem::MimeHtmlSaveFormat) const

把当前加载网页保存到磁盘。

网页被保存到 filePath 以指定 format .

这是以下动作的捷径:

  • 触发保存 Web 动作。
  • 接受下一下载项,并设置指定文件路径和保存格式。

此函数为网页发出异步下载请求,并立即返回。

该函数在 Qt 5.8 引入。

另请参阅 QWebEngineDownloadItem::SavePageFormat .

QWebEngineScriptCollection &QWebEnginePage:: scripts ()

返回被注入到页面中的脚本集合。

此外,页面还可能执行添加脚本透过 QWebEngineProfile::scripts ().

另请参阅 QWebEngineScriptCollection and QWebEngineScript .

[signal] void QWebEnginePage:: selectionChanged ()

此信号被发射每当以交互或编程方式改变选定时。例如,通过调用 triggerAction () 采用选定动作。

另请参阅 selectedText ().

void QWebEnginePage:: setContent (const QByteArray & data , const QString & mimeType = QString(), const QUrl & baseUrl = QUrl())

把网页内容设为 data 。若 mimeType 自变量为空,假定内容为 text/plain,charset=US-ASCII .

内容中引用的外部对象的定位相对于 baseUrl .

data 被立即加载;外部对象是异步加载的。

注意: 此方法不会影响页面会话或全局历史。

警告: 内容将被 % (百分号) 编码在凭借 IPC 被发送到渲染器之前。这可能增加其大小。% (百分号) 编码内容的最大大小 = 2 MB - 6 Bytes + MIME 类型字符串长度。

另请参阅 toHtml () 和 setHtml ().

void QWebEnginePage:: setFeaturePermission (const QUrl & securityOrigin , Feature feature , PermissionPolicy policy )

设置网站权限标识通过 securityOrigin 要使用 feature to policy .

注意: 调用此方法在 featurePermissionRequested () signal, as it is meant to serve pending feature requests only. Setting feature permissions ahead of a request has no effect.

另请参阅 featurePermissionRequested () 和 featurePermissionRequestCanceled ().

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

将此页面的内容设为 html . baseUrl 是可选的和用于解析文档中的相对 URL,譬如:引用的图像或样式表。

html 被立即加载;外部对象是异步加载的。

若脚本在 html 运行时间超过默认 (目前 10 秒) 脚本超时,(例如:由于被模态 JavaScript 警报对话框所阻塞),此方法将尽快返回在超时之后且任何后续 html 将异步加载。

When using this method, the web engine assumes that external resources, such as JavaScript programs or style sheets, are encoded in UTF-8 unless otherwise specified. For example, the encoding of an external script can be specified through the charset attribute of the HTML script tag. It is also possible for the encoding to be specified by the web server.

此方便函数相当于 setContent (html, "text/html", baseUrl).

注意: 此方法不会影响页面会话或全局历史。

警告: This function works only for HTML, for other mime types (such as XHTML and SVG) setContent () 应该使用以取而代之。

警告: The content will be percent encoded before being sent to the renderer via IPC. This may increase its size. The maximum size of the percent encoded content is 2 megabytes minus 30 bytes.

另请参阅 toHtml (), setContent (),和 load ().

void QWebEnginePage:: setView ( QWidget * view )

设置 view 关联网页。

另请参阅 view ().

void QWebEnginePage:: setWebChannel ( QWebChannel * channel , uint worldId )

将此页面要使用的 Web 通道实例设为 channel 并使用 Chromium IPC (进程间通信) 消息将它连接到 Web 引擎传输。传输被暴露在 JavaScript 世界 worldId as qt.webChannelTransport ,其应该被使用当使用 Qt WebChannel JavaScript API .

注意: 页面不拥有通道对象的所有权。

注意: 每页面只可以安装一 Web 通道,即使在另一 JavaScript 世界中设置了一个也会卸载任何已安装的 Web 通道。

该函数在 Qt 5.7 引入。

另请参阅 webChannel () 和 QWebEngineScript::ScriptWorldId .

void QWebEnginePage:: setWebChannel ( QWebChannel * channel )

这是重载函数。

将此页面要使用的 Web 通道实例设为 channel 并将其安装在主 JavaScript 世界。

采用此方法,可以通过网页内容访问 Web 通道。若内容不受控制且可能怀有敌意,这会是安全问题且应考虑将它安装在私有 JavaScript 世界中。

该函数在 Qt 5.5 引入。

另请参阅 QWebEngineScript::MainWorld .

QWebEngineSettings *QWebEnginePage:: settings () const

返回指向页面设置对象的指针。

另请参阅 QWebEngineSettings::globalSettings ().

[signal] void QWebEnginePage:: titleChanged (const QString & title )

此信号被发射每当页面标题改变时。 title 字符串指定新标题。

另请参阅 title ().

void QWebEnginePage:: toHtml ( FunctorOrLambda resultCallback ) const

以 HTML 形式检索页面内容 (封闭于 HTML 和 BODY 标签) 的异步方法。成功完成后, resultCallback 被调用采用页面的内容。

注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。

另请参阅 setHtml () 和 toPlainText ().

void QWebEnginePage:: toPlainText ( FunctorOrLambda resultCallback ) const

把检索页面内容 (完全剥离所有 HTML 格式) 转换为纯文本的异步方法。成功完成后, resultCallback 被调用采用页面的内容。

注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。

另请参阅 toHtml ().

[virtual] void QWebEnginePage:: triggerAction ( WebAction action , bool checked = false)

此函数可以被调用以触发指定 action 。它也会被调用通过 Qt WebEngine 若用户触发动作 (例如:透过上下文菜单项)。

action 是可复选动作,则 checked 指定动作是否被触发。

另请参阅 action ().

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

此信号被发射带页面 URL,当接收到页面标题时。新 URL 被指定由 url .

另请参阅 url ().

QWidget *QWebEnginePage:: view () const

返回与网页关联的视图 Widget。

另请参阅 setView ().

QWebChannel *QWebEnginePage:: webChannel () const

返回指向此页面所用的 Web 通道实例的指针,或 none 指针若未设置。此通道通过 Chromium IPC (进程间通信) 自动使用内部 Web 引擎传输机制,该机制在此页面的 JavaScript 上下文中被公开为 qt.webChannelTransport .

该函数在 Qt 5.5 引入。

另请参阅 setWebChannel ().

[signal] void QWebEnginePage:: windowCloseRequested ()

此信号被发射每当页面请求关闭 Web 浏览器窗口时,例如透过 JavaScript window.close() 调用。

另请参阅 RequestClose .