QWebEnginePage 类

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

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

该类在 Qt 5.4 引入。

公共类型

enum Feature { Notifications, Geolocation, MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, …, DesktopAudioVideoCapture }
enum FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple }
enum FindFlag { FindBackward, FindCaseSensitively }
flags FindFlags
enum JavaScriptConsoleMessageLevel { InfoMessageLevel, WarningMessageLevel, ErrorMessageLevel }
enum class LifecycleState { Active, Frozen, Discarded }
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, Reload, …, InsertUnorderedList }
enum WebWindowType { WebBrowserWindow, WebBrowserTab, WebDialog, WebBrowserBackgroundTab }

特性

公共函数

QWebEnginePage (QWebEngineProfile * profile , QObject * parent = Q_NULLPTR)
QWebEnginePage (QObject * parent = Q_NULLPTR)
virtual ~QWebEnginePage ()
QAction * action (QWebEnginePage::WebAction action ) const
QColor backgroundColor () const
QSizeF contentsSize () const
const QWebEngineContextMenuData & contextMenuData () const
QMenu * createStandardContextMenu ()
QWebEnginePage * devToolsPage () const
void download (const QUrl & url , const QString & filename = QString())
void findText (const QString & subString , QWebEnginePage::FindFlags options = FindFlags(), const QWebEngineCallback<bool> & resultCallback = QWebEngineCallback<bool>())
bool hasSelection () const
QWebEngineHistory * history () const
QIcon icon () const
QUrl iconUrl () const
QWebEnginePage * inspectedPage () const
bool isAudioMuted () const
bool isVisible () const
QWebEnginePage::LifecycleState lifecycleState () const
void load (const QUrl & url )
void load (const QWebEngineHttpRequest & request )
void print (QPrinter * printer , const QWebEngineCallback<bool> & resultCallback )
void printToPdf (const QString & filePath , const QPageLayout & pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
void printToPdf (const QWebEngineCallback<const QByteArray &> & resultCallback , const QPageLayout & pageLayout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()))
QWebEngineProfile * profile () const
bool recentlyAudible () const
QWebEnginePage::LifecycleState recommendedState () const
qint64 renderProcessPid () const
void replaceMisspelledWord (const QString & replacement )
QUrl requestedUrl () const
void runJavaScript (const QString & scriptSource )
void runJavaScript (const QString & scriptSource , quint32 worldId )
void runJavaScript (const QString & scriptSource , const QWebEngineCallback<const QVariant &> & resultCallback )
void runJavaScript (const QString & scriptSource , quint32 worldId , const QWebEngineCallback<const QVariant &> & resultCallback )
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 setDevToolsPage (QWebEnginePage * devToolsPage )
void setFeaturePermission (const QUrl & securityOrigin , QWebEnginePage::Feature feature , QWebEnginePage::PermissionPolicy policy )
void setHtml (const QString & html , const QUrl & baseUrl = QUrl())
void setInspectedPage (QWebEnginePage * page )
void setLifecycleState (QWebEnginePage::LifecycleState state )
void setUrl (const QUrl & url )
void setUrlRequestInterceptor (QWebEngineUrlRequestInterceptor * interceptor )
void setView (QWidget * view )
void setVisible (bool visible )
void setWebChannel (QWebChannel * channel , uint worldId )
void setWebChannel (QWebChannel * channel )
void setZoomFactor (qreal factor )
QWebEngineSettings * settings () const
QString title () const
void toHtml (const QWebEngineCallback<const QString &> & resultCallback ) const
void toPlainText (const QWebEngineCallback<const QString &> & resultCallback ) const
virtual void triggerAction (QWebEnginePage::WebAction action , bool checked = false)
QUrl url () const
QWidget * view () const
QWebChannel * webChannel () const
qreal zoomFactor () const

重实现公共函数

virtual bool event (QEvent * e ) override

信号

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 findTextFinished (const QWebEngineFindTextResult & result )
void fullScreenRequested (QWebEngineFullScreenRequest fullScreenRequest )
void geometryChangeRequested (const QRect & geom )
void iconChanged (const QIcon & icon )
void iconUrlChanged (const QUrl & url )
void lifecycleStateChanged (QWebEnginePage::LifecycleState state )
void linkHovered (const QString & url )
void loadFinished (bool ok )
void loadProgress (int progress )
void loadStarted ()
void pdfPrintingFinished (const QString & filePath , bool success )
void printRequested ()
void proxyAuthenticationRequired (const QUrl & requestUrl , QAuthenticator * authenticator , const QString & proxyHost )
void quotaRequested (QWebEngineQuotaRequest quotaRequest )
void recentlyAudibleChanged (bool recentlyAudible )
void recommendedStateChanged (QWebEnginePage::LifecycleState state )
void registerProtocolHandlerRequested (QWebEngineRegisterProtocolHandlerRequest request )
void renderProcessPidChanged (qint64 pid )
void renderProcessTerminated (QWebEnginePage::RenderProcessTerminationStatus terminationStatus , int exitCode )
void scrollPositionChanged (const QPointF & position )
void selectClientCertificate (QWebEngineClientCertificateSelection clientCertificateSelection )
void selectionChanged ()
void titleChanged (const QString & title )
void urlChanged (const QUrl & url )
void visibleChanged (bool visible )
void windowCloseRequested ()

保护函数

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

详细描述

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 设置可以被用于使查看关联页面自动接收聚焦,当发生导航操作时 (像加载或重新加载页面或透过历史进行导航)。

成员类型文档编制

enum QWebEnginePage:: 特征

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

常量 描述
QWebEnginePage::Notifications 0 最终用户的 Web 通知。
QWebEnginePage::Geolocation 1 定位硬件或服务。
QWebEnginePage::MediaAudioCapture 2 音频捕获设备 (譬如:麦克风)。
QWebEnginePage::MediaVideoCapture 3 视频设备 (譬如:摄像头)。
QWebEnginePage::MediaAudioVideoCapture 4 音频和视频捕获设备。
QWebEnginePage::MouseLock 5 鼠标锁定,将鼠标指针锁定到 Web 视图 (通常用于游戏)。
QWebEnginePage::DesktopVideoCapture 6 视频输出捕获,即用户显示的捕获,例如:屏幕共享目的。(在 Qt 5.10 添加)
QWebEnginePage::DesktopAudioVideoCapture 7 音频和视频输出捕获。(在 Qt 5.10 添加)

另请参阅 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 消息指示出现错误。

enum class QWebEnginePage:: LifecycleState

此枚举描述页面生命周期状态:

常量 描述
QWebEnginePage::LifecycleState::Active 0 正常状态。
QWebEnginePage::LifecycleState::Frozen 1 低 CPU 使用率状态,挂起大多数 HTML 任务源。
QWebEnginePage::LifecycleState::Discarded 2 很低资源使用率状态 (整个浏览上下文被丢弃)。

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

另请参阅 lifecycleState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

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

常量 描述
QWebEnginePage::NavigationTypeLinkClicked 0 导航请求由点击链接产生。
QWebEnginePage::NavigationTypeTyped 1 导航请求由明确加载 URL 产生。
QWebEnginePage::NavigationTypeFormSubmitted 2 导航请求由表单提交产生。
QWebEnginePage::NavigationTypeBackForward 3 导航请求由后退或前进动作产生。
QWebEnginePage::NavigationTypeReload 4 导航请求由重新加载动作产生。
QWebEnginePage::NavigationTypeRedirect 6 导航请求由内容或服务器控制重定向产生。这还包括自动重新加载。(在 Qt 5.14 添加)
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

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

动作才有效,当可应用时。

动作的可用性可以被确定,通过检查 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 选择所有内容。仅当页面内容被聚焦时此动作才启用。聚焦可以被强制通过 JavaScript window.focus() 调用,或 FocusOnNavigationEnabled 设置应该被启用以获得自动聚焦。
QWebEnginePage::PasteAndMatchStyle 11 采用当前样式从剪贴板粘贴内容。
QWebEnginePage::OpenLinkInThisWindow 12 在当前窗口中打开当前链接。(在 Qt 5.6 添加)
QWebEnginePage::OpenLinkInNewWindow 13 在新窗口中打开当前链接。要求实现 createWindow ()。(在 Qt 5.6 添加)
QWebEnginePage::OpenLinkInNewTab 14 在新选项卡中打开当前链接。要求实现 createWindow ()。(在 Qt 5.6 添加)
QWebEnginePage::OpenLinkInNewBackgroundTab 31 在新背景选项卡中打开当前链接。要求实现 createWindow ()。(在 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 把当前链接下载到磁盘。要求槽为 downloadRequested() 。(在 Qt 5.6 添加)
QWebEnginePage::DownloadImageToDisk 19 把被突显图像下载到磁盘。要求槽为 downloadRequested() 。(在 Qt 5.6 添加)
QWebEnginePage::DownloadMediaToDisk 25 将悬停音频或视频下载到磁盘。要求槽用于 downloadRequested() 。(在 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 把当前页面保存到磁盘。MHTML 是用于把网页存储在磁盘的默认格式。要求槽为 downloadRequested() 。(在 Qt 5.7 添加)
QWebEnginePage::ViewSource 32 在新选项卡中展示当前页面的源代码。要求实现 createWindow ()。(在 Qt 5.8 添加)
QWebEnginePage::ToggleBold 33 触发选定或光标位置处的粗体。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::ToggleItalic 34 触发选定或光标位置处的斜体。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::ToggleUnderline 35 触发选定或光标位置处的下划线。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::ToggleStrikethrough 36 触发选定或光标位置处的删除线。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::AlignLeft 37 左对齐行所包含的选定或光标。需要 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::AlignCenter 38 居中对齐行所包含的选定或光标。需要 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::AlignRight 39 右对齐行所包含的选定或光标。需要 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::AlignJustified 40 拉伸包含选定或光标的行,以使每行拥有相等宽度。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::Indent 41 缩进包含选定或光标的行。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::Outdent 42 伸出包含选定或光标的行。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::InsertOrderedList 43 将有序列表插入在当前光标位置处,删除当前选定。要求 contenteditable="true" 。(在 Qt 5.10 添加)
QWebEnginePage::InsertUnorderedList 44 将无序列表插入在当前光标位置处,删除当前选定。要求 contenteditable="true" 。(在 Qt 5.10 添加)

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

此特性保持页面内容的尺寸。

该特性在 Qt 5.7 引入。

访问函数:

QSizeF contentsSize () const

通知程序信号:

void contentsSizeChanged (const QSizeF & size )

hasSelection : const bool

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

访问函数:

bool hasSelection () const

另请参阅 selectionChanged ().

icon : const QIcon

此特性保持关联目前查看页面的图标。

默认情况下,此属性包含 null 图标。若网页指定一个以上图标, icon 特性将可用候选图标封装于单个、可伸缩 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 ().

lifecycleState : LifecycleState

此特性保持页面的当前生命周期状态。

以下限定由 Setter 实施:

  • A visible 页面必须保留在 Active 状态。
  • 若页面正在被审查通过 devToolsPage 那么 2 页面都必须保留在 Active 状态。
  • 页面在 Discarded 状态,才能过渡到 Active 状态。这会导致页面的重新加载。

这些是对生命周期状态的唯一硬性限制,另请参阅 recommendedState 了解推荐的软限制。

该特性在 Qt 5.14 引入。

访问函数:

QWebEnginePage::LifecycleState lifecycleState () const
void setLifecycleState (QWebEnginePage::LifecycleState state )

通知程序信号:

void lifecycleStateChanged (QWebEnginePage::LifecycleState state )

另请参阅 recommendedState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

recentlyAudible : const bool

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

默认值为 false .

该特性在 Qt 5.7 引入。

访问函数:

bool recentlyAudible () const

通知程序信号:

void recentlyAudibleChanged (bool recentlyAudible )

另请参阅 audioMuted .

recommendedState : const LifecycleState

此特性保持页面生命周期状态的推荐限制。

把生命周期状态设为低于推荐状态的资源使用率状态可能导致副作用 (譬如:停止后台音频回放或丢失 HTML 表单输入)。不管怎样,把生命周期状态设为更高资源状态是完全安全的。

该特性在 Qt 5.14 引入。

访问函数:

QWebEnginePage::LifecycleState recommendedState () const

通知程序信号:

void recommendedStateChanged (QWebEnginePage::LifecycleState state )

另请参阅 lifecycleState , 页面生命周期 API ,和 WebEngine 生命周期范例 .

renderProcessPid : const qint64

此特性保持赋值给当前页面主框架的渲染进程的 PID (进程 ID)。

若尚无可用渲染进程, 0 被返回。

该特性在 Qt 5.15 引入。

访问函数:

qint64 renderProcessPid () const

通知程序信号:

void renderProcessPidChanged (qint64 pid )

requestedUrl : const QUrl

此特性保持当前查看页面最初请求加载的 URL。

注意: 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

此特性保持当前选中的文本。

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

访问函数:

QString selectedText () const

另请参阅 selectionChanged ().

title : const QString

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

若页面没有 <title> 元素,则使用 URL 代替。对于 file:// URL,仅使用文件名,而非完整路径。

默认情况下,在任何内容被加载之前,此特性包含空字符串。

访问函数:

QString title () const

另请参阅 titleChanged ().

url : QUrl

此特性保持目前查看页面的 URL。

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

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

访问函数:

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

另请参阅 urlChanged ().

visible : bool

此特性保持页面是否在页面可见性 API 中被认为可见。

设置此特性将改变 Document.hidden Document.visibilityState 特性在 JavaScript,可以用于网站以自愿缩减资源使用率若它们对用户不可见。

若页面被连接到 view 那么,此特性将由视图根据自身的可见性自动管理。

该特性在 Qt 5.14 引入。

访问函数:

bool isVisible () const
void setVisible (bool visible )

通知程序信号:

void visibleChanged (bool visible )

另请参阅 lifecycleState .

zoomFactor : qreal

此特性保持页面内容的缩放因子。

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

访问函数:

qreal zoomFactor () const
void setZoomFactor (qreal factor )

成员函数文档编制

void QWebEnginePage:: runJavaScript (const QString & scriptSource )

void QWebEnginePage:: runJavaScript (const QString & scriptSource , const QWebEngineCallback <const QVariant &> & resultCallback )

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

void QWebEnginePage:: runJavaScript (const QString & scriptSource , quint32 worldId , const QWebEngineCallback <const QVariant &> & resultCallback )

运行包含的 JavaScript 代码在 scriptSource 无需校验页面 DOM 是否已被构建。若需要脚本如何运行的更多地控制,请考虑使用 scripts () 代替。

为避免与页面中执行的其它脚本冲突,运行脚本的世界的指定通过 worldId 。世界 ID 值是相同的提供通过 QWebEngineScript::ScriptWorldId ,和介于 0 and 256 。若忽略 world ID,脚本运行在 MainWorld .

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

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

仅纯数据可以被返回从 JavaScript 作为结果值。支持的数据类型包括所有 JSON 数据类型,例如, Date and ArrayBuffer 。不支持的数据类型包括,例如, 函数 and Promise .

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

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

该函数在 Qt 5.7 引入。

另请参阅 scripts (), QWebEngineScript::ScriptWorldId ,和 脚本注入 .

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

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

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

该函数在 Qt 5.5 引入。

QWebEnginePage:: QWebEnginePage ( QObject * parent = Q_NULLPTR)

构造空的 QWebEnginePage 采用父级 parent .

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

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

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

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

该函数在 Qt 5.7 引入。

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

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

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

[signal] void QWebEnginePage:: findTextFinished (const QWebEngineFindTextResult & result )

此信号被发射当搜索字符串搜索页面完成时。 result 是字符串搜索的结果。

该函数在 Qt 5.14 引入。

另请参阅 findText ().

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

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

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

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

另请参阅 QWebEngineSettings::FullScreenSupportEnabled .

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

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

注意: setGeometry() 期望尺寸排除窗口装饰,而 geom 包括。必须移除框架边距尺寸从 geom 以正确处理此信号。

window->setGeometry(geom.marginsRemoved(window->frameMargins()));
					

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

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

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

该函数在 Qt 5.7 引入。

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

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

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

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

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

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

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

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

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

注意: 导航请求可以委托给 Qt 应用程序,而不是让 HTML 处理程序引擎处理它们,通过重载 acceptNavigationRequest () 函数。因为加载过程已开始,且 loadStarted () 信号被发射 before 请求被接受或拒绝, loadFinished() 信号返回 false 是可预期的即使在委派请求后。

另请参阅 loadStarted () 和 acceptNavigationRequest ().

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

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

[signal] void QWebEnginePage:: loadStarted ()

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

另请参阅 loadFinished () 和 acceptNavigationRequest ().

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

[signal] void QWebEnginePage:: printRequested ()

此信号被发射当 JavaScript window.print() 方法被调用。通常,信号处理程序可以简单调用 printToPdf ().

该函数在 Qt 5.12 引入。

另请参阅 printToPdf ().

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

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

[signal] void QWebEnginePage:: quotaRequested ( QWebEngineQuotaRequest quotaRequest )

此信号被发射当网页请求的持久性存储大于应用程序在文件系统 API 中的当前分配时。默认配额为 0 字节。

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

该函数在 Qt 5.11 引入。

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

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

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

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

该函数在 Qt 5.7 引入。

[signal] void QWebEnginePage:: registerProtocolHandlerRequested ( QWebEngineRegisterProtocolHandlerRequest request )

此信号被发射当网页尝试注册自定义协议,使用 registerProtocolHandler API.

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

void WebPage::handleRegisterProtocolHandlerRequested(QWebEngineRegisterProtocolHandlerRequest request)
{
    auto answer = QMessageBox::question(
        view()->window(),
        tr("Permission Request"),
        tr("Allow %1 to open all %2 links?")
        .arg(request.origin().host())
        .arg(request.scheme()));
    if (answer == QMessageBox::Yes)
        request.accept();
    else
        request.reject();
}
					

该函数在 Qt 5.11 引入。

[signal] void QWebEnginePage:: renderProcessPidChanged ( qint64 pid )

此信号被发射当底层渲染进程 PID, renderProcessPid ,改变。

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

该函数在 Qt 5.15 引入。

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

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

该函数在 Qt 5.6 引入。

[signal] void QWebEnginePage:: selectClientCertificate ( QWebEngineClientCertificateSelection clientCertificateSelection )

此信号被发射当网站请求 SSL 客户端证书,且在系统客户端证书存储中发现一个或多个。

处理信号是异步的,且加载会等待直到证书被选中,或上一拷贝 clientCertificateSelection 被销毁。

若信号未被处理, clientCertificateSelection 被自动销毁,且将在没有客户端证书的情况下继续加载。

该函数在 Qt 5.12 引入。

另请参阅 QWebEngineClientCertificateSelection .

[signal] void QWebEnginePage:: selectionChanged ()

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

注意: 当使用鼠标通过左键点击并拖曳以选择文本时,会为每个新选中字符发射信号,而不是在释放鼠标左键时。

另请参阅 selectedText ().

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

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

另请参阅 title ().

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

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

另请参阅 url ().

[signal] void QWebEnginePage:: windowCloseRequested ()

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

另请参阅 RequestClose .

[virtual] QWebEnginePage:: ~QWebEnginePage ()

销毁 Web 页面。

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

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

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

注意: 加载进程开始且 loadStarted () 信号被发射 before 请求被接受或拒绝。因此, loadFinished () 信号返回 false 是可预期的即使在委派请求后。

注意: 当使用 setHtml or setContent with relative links, make sure to specify a base url, otherwise the links will be considered invalid and no navigation requests will be emitted.

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

该函数在 Qt 5.5 引入。

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

返回 QAction 为指定 WebAction action .

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

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

另请参阅 triggerAction ().

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

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

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

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

注意: 若错误被成功延期,返回值会被忽略。

另请参阅 QWebEngineCertificateError .

[virtual protected] QStringList QWebEnginePage:: chooseFiles ( QWebEnginePage::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 ( QWebEnginePage::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 ().

QWebEnginePage *QWebEnginePage:: devToolsPage () const

返回托管此页面开发者工具的页面,若有的话。

返回 nullptr 若未设置开发者工具页面。

该函数在 Qt 5.11 引入。

另请参阅 setDevToolsPage () 和 inspectedPage ().

void QWebEnginePage:: download (const QUrl & url , const QString & filename = QString())

下载来自定位的资源,给定通过 url 到本地文件。

filename 被给定,它会被用作建议文件名。若它是相对的,则采用给定名称把文件保存在标准下载定位。若它是 null 或空 QString ,使用默认文件名。

这会发射 QWebEngineProfile::downloadRequested (),在下载开始后。

该函数在 Qt 5.10 引入。

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

重实现: QObject::event (QEvent *e).

void QWebEnginePage:: findText (const QString & subString , QWebEnginePage::FindFlags options = FindFlags(), const QWebEngineCallback < bool > & resultCallback = QWebEngineCallback<bool>())

查找指定字符串, subString ,在页面使用给定 options findTextFinished () 信号被发射当字符串搜索完成时。

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

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

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

例如:

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

另请参阅 findTextFinished ().

QWebEngineHistory *QWebEnginePage:: history () const

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

QWebEnginePage *QWebEnginePage:: inspectedPage () const

返回此页面正在审查的页面,若有的话。

返回 nullptr 如果此页面不是开发者工具页面。

该函数在 Qt 5.11 引入。

另请参阅 setInspectedPage () 和 devToolsPage ().

[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 ( QWebEnginePage::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 ().

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

void QWebEnginePage:: print ( QPrinter * printer , const QWebEngineCallback < bool > & 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.

注意: Printing runs on the browser process, which is by default not sandboxed.

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

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

该函数在 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 (const QWebEngineCallback <const QByteArray &> & 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.

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

该函数在 Qt 5.7 引入。

QWebEngineProfile *QWebEnginePage:: profile () const

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

该函数在 Qt 5.5 引入。

void QWebEnginePage:: replaceMisspelledWord (const QString & replacement )

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

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

该函数在 Qt 5.8 引入。

另请参阅 contextMenuData ().

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 , QWebEngineScript ,和 脚本注入 .

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:: setDevToolsPage ( QWebEnginePage * devToolsPage )

绑定 devToolsPage 成此页面的开发者工具。触发 devToolsPage 以采用开发者工具导航到内部 URL。

这如同调用 setInspectedPage () 在 devToolsPage with this 作为自变量。

该函数在 Qt 5.11 引入。

另请参阅 devToolsPage () 和 setInspectedPage ().

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

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

注意: This method is primarily for calling after a featurePermissionRequested () signal has been emitted to trigger the feature permission response. It can also be called before a request has been emitted, but will only set a granted permission for passive checks, mainly for Notification APIs that can check if permission has already been granted before explicitly requesting it.

另请参阅 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:: setInspectedPage ( QWebEnginePage * page )

将此页面的内部开发者工具 URL 导航到 page .

这如同调用 setDevToolsPage () 在 page with this 作为自变量。

该函数在 Qt 5.11 引入。

另请参阅 inspectedPage () 和 setDevToolsPage ().

void QWebEnginePage:: setUrlRequestInterceptor ( QWebEngineUrlRequestInterceptor * interceptor )

注册请求拦截器 interceptor 到拦截 URL 请求。

The page does not take ownership of the pointer. This interceptor is called after any interceptors on the profile, and unlike profile interceptors, only URL requests from this page are intercepted.

要取消请求拦截器设置,设置 nullptr .

该函数在 Qt 5.13 引入。

另请参阅 QWebEngineUrlRequestInfo and QWebEngineProfile::setUrlRequestInterceptor ().

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

void QWebEnginePage:: toHtml (const QWebEngineCallback <const QString &> & resultCallback ) const

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

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

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

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

void QWebEnginePage:: toPlainText (const QWebEngineCallback <const QString &> & resultCallback ) const

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

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

警告: 我们保证回调 ( resultCallback ) 总是被调用,但它可能在页面销毁期间完成。当 QWebEnginePage 被删除,会采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。

另请参阅 toHtml ().

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

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

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

另请参阅 action ().

QWidget *QWebEnginePage:: view () const

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

另请参阅 setView ().

QWebChannel *QWebEnginePage:: webChannel () const

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

该函数在 Qt 5.5 引入。

另请参阅 setWebChannel ().