QWebEnginePage 类提供用于查看和编辑 Web 文档的对象。 更多...
头: | #include <QWebEnginePage> |
CMake: |
find_package(Qt6 COMPONENTS WebEngineCore REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
Since: | Qt 5.4 |
继承: | QObject |
enum | Feature { Notifications, Geolocation, MediaAudioCapture, MediaVideoCapture, MediaAudioVideoCapture, …, DesktopAudioVideoCapture } |
enum | FileSelectionMode { FileSelectOpen, FileSelectOpenMultiple, FileSelectUploadFolder } |
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 = nullptr) | |
QWebEnginePage (QObject * parent = nullptr) | |
virtual | ~QWebEnginePage () |
QAction * | action (QWebEnginePage::WebAction action ) const |
QColor | backgroundColor () const |
QSizeF | contentsSize () const |
QWebEnginePage * | devToolsPage () const |
void | download (const QUrl & url , const QString & filename = QString()) |
void | findText (const QString & subString , QWebEnginePage::FindFlags options = {}, const std::function<void (const QWebEngineFindTextResult &)> & resultCallback = ...) |
bool | hasSelection () const |
QWebEngineHistory * | history () const |
QIcon | icon () const |
QUrl | iconUrl () const |
QWebEnginePage * | inspectedPage () const |
bool | isAudioMuted () const |
bool | isLoading () const |
bool | isVisible () const |
QWebEnginePage::LifecycleState | lifecycleState () const |
void | load (const QUrl & url ) |
void | load (const QWebEngineHttpRequest & request ) |
void | printToPdf (const QString & filePath , const QPageLayout & layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges & ranges = {}) |
void | printToPdf (const std::function<void (const QByteArray &)> & resultCallback , const QPageLayout & layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()), const QPageRanges & ranges = {}) |
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 , const std::function<void (const QVariant &)> & resultCallback ) |
void | runJavaScript (const QString & scriptSource , quint32 worldId = 0, const std::function<void (const QVariant &)> & resultCallback = {}) |
void | save (const QString & filePath , QWebEngineDownloadRequest::SavePageFormat format = QWebEngineDownloadRequest::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 | setVisible (bool visible ) |
void | setWebChannel (QWebChannel * channel , quint32 worldId = 0) |
void | setZoomFactor (qreal factor ) |
QWebEngineSettings * | settings () const |
QString | title () const |
void | toHtml (const std::function<void (const QString &)> & resultCallback ) const |
void | toPlainText (const std::function<void (const QString &)> & resultCallback ) const |
virtual void | triggerAction (QWebEnginePage::WebAction action , bool checked = false) |
QUrl | url () 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 | certificateError (const QWebEngineCertificateError & certificateError ) |
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 | loadingChanged (const QWebEngineLoadingInfo & loadingInfo ) |
void | navigationRequested (QWebEngineNavigationRequest & request ) |
void | newWindowRequested (QWebEngineNewWindowRequest & request ) |
void | pdfPrintingFinished (const QString & filePath , bool success ) |
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 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 ) |
A 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 设置可以被用于使查看关联页面自动接收聚焦,当发生导航操作时 (像加载或重新加载页面或透过历史进行导航)。
此枚举描述用户可能被要求授予 (或拒绝) 访问的平台特征访问类别:
常量 | 值 | 描述 |
---|---|---|
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 .
此枚举指示实现的 chooseFiles () 函数应该仅返回一个文件或可以返回多个文件:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::FileSelectOpen
|
0
|
只返回一个文件名。 |
QWebEnginePage::FileSelectOpenMultiple
|
1
|
返回多个文件名。 |
QWebEnginePage::FileSelectUploadFolder
|
2
|
Allows users to specify a single existing folder for upload. |
另请参阅 chooseFiles ().
此枚举描述的选项可用于 findText () 函数。来自以下列表中的选项可以 OR 在一起:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::FindBackward
|
1
|
向后搜索,而不是向前。 |
QWebEnginePage::FindCaseSensitively
|
2
|
默认情况下 findText () 工作不区分大小写。指定此选项把行为改为区分大小写的查找操作。 |
FindFlags 类型是 typedef 对于 QFlags <FindFlag>。它存储 FindFlag 值的 OR 组合。
此枚举描述了 JavaScript 控制台消息,可以拥有的不同严重级别:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::InfoMessageLevel
|
0
|
消息为纯情报且可以被安全忽略。 |
QWebEnginePage::WarningMessageLevel
|
1
|
消息告知可能需要关注的意外行为 (或错误)。 |
QWebEnginePage::ErrorMessageLevel
|
2
|
消息指示出现错误。 |
[since 5.14]
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 ().
此枚举描述用户可以为数据或设备访问设置的权限策略:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::PermissionUnknown
|
0
|
用户是否授予 (或拒绝) 权限未知。 |
QWebEnginePage::PermissionGrantedByUser
|
1
|
用户已授予权限。 |
QWebEnginePage::PermissionDeniedByUser
|
2
|
用户已拒绝权限。 |
另请参阅 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 Feature .
[since 5.6]
enum QWebEnginePage::
RenderProcessTerminationStatus
此枚举描述渲染进程终止状态:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::NormalTerminationStatus
|
0
|
渲染进程正常终止。 |
QWebEnginePage::AbnormalTerminationStatus
|
1
|
渲染进程以非零退出状态终止。 |
QWebEnginePage::CrashedTerminationStatus
|
2
|
渲染进程崩溃 (例如:由于分段故障)。 |
QWebEnginePage::KilledTerminationStatus
|
3
|
渲染进程被杀除,例如被
SIGKILL
或被任务管理器杀除。
|
该枚举在 Qt 5.6 引入或被修改。
此枚举描述可以在网页上履行的动作类型。
动作才有效,当适用时。
可以确定动作的可用性,通过校验 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 () 或 newWindowRequested () (Added in Qt 5.6) |
QWebEnginePage::OpenLinkInNewTab
|
14
|
在新选项卡中打开当前链接。要求实现 createWindow () 或 newWindowRequested () (在 Qt 5.6 添加)。 |
QWebEnginePage::OpenLinkInNewBackgroundTab
|
31
|
在新背景选项卡中打开当前链接。要求实现 createWindow () 或 newWindowRequested () (在 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 () 或 newWindowRequested () (在 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 添加)。
|
此枚举描述可以创建的窗口类型通过 createWindow () 函数:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::WebBrowserWindow
|
0
|
完整 Web 浏览器窗口。 |
QWebEnginePage::WebBrowserTab
|
1
|
Web 浏览器选项卡。 |
QWebEnginePage::WebDialog
|
2
|
没有装饰的窗口。 |
QWebEnginePage::WebBrowserBackgroundTab
|
3
|
Web 浏览器选项卡不隐藏当前可见 WebEngineView (在 Qt 5.7 添加)。 |
[since 5.7]
audioMuted
:
bool
此特性保持当前页面音频是否被静音。
默认值为
false
.
该特性在 Qt 5.7 引入。
访问函数:
bool | isAudioMuted () const |
void | setAudioMuted (bool muted ) |
通知程序信号:
void | audioMutedChanged (bool muted ) |
另请参阅 recentlyAudible .
[since 5.6]
backgroundColor
:
QColor
此特性保持文档本体背后的页面背景颜色。
可以把背景颜色设为 Qt::transparent 或半透明颜色以透视文档,或将其设为匹配混合应用程序 Web 内容以防在加载期间可能出现的白色闪烁。
默认值为白色。
该特性在 Qt 5.6 引入。
访问函数:
QColor | backgroundColor () const |
void | setBackgroundColor (const QColor & color ) |
[read-only, since 5.7]
contentsSize
: const
QSizeF
此特性保持页面内容的尺寸。
该特性在 Qt 5.7 引入。
访问函数:
QSizeF | contentsSize () const |
通知程序信号:
void | contentsSizeChanged (const QSizeF & size ) |
[read-only]
hasSelection
: const
bool
此特性保持此页面是否包含选定内容。
访问函数:
bool | hasSelection () const |
另请参阅 selectionChanged ().
[read-only, since 5.7]
icon
: const
QIcon
此特性保持关联目前查看页面的图标。
By default, this property contains a null icon. If touch icons are disabled (see
QWebEngineSettings::TouchIconsEnabled
), the favicon is provided in two sizes (16x16 and 32x32 pixels) encapsulated in
QIcon
. Otherwise, single icon is provided with the largest available size.
该特性在 Qt 5.7 引入。
访问函数:
QIcon | icon () const |
通知程序信号:
void | iconChanged (const QIcon & icon ) |
另请参阅 iconChanged (), iconUrl (), iconUrlChanged (),和 QWebEngineSettings::TouchIconsEnabled .
[read-only]
iconUrl
: const
QUrl
此特性保持关联目前查看页面的图标 URL。
默认情况下,此特性包含空 URL。
访问函数:
QUrl | iconUrl () const |
通知程序信号:
void | iconUrlChanged (const QUrl & url ) |
另请参阅 iconUrlChanged (), icon (),和 iconChanged ().
[since 5.14]
lifecycleState
:
LifecycleState
此特性保持页面的当前生命周期状态。
以下限定由 setter 实施:
Active
状态。
Active
状态。
Discarded
状态,才能过渡到
Active
状态。这会导致页面的重新加载。
这些是对生命周期状态的唯一硬性限制,另请参阅 recommendedState 了解推荐的软限制。
该特性在 Qt 5.14 引入。
访问函数:
QWebEnginePage::LifecycleState | lifecycleState () const |
void | setLifecycleState (QWebEnginePage::LifecycleState state ) |
通知程序信号:
void | lifecycleStateChanged (QWebEnginePage::LifecycleState state ) |
另请参阅 recommendedState , 页面生命周期 API ,和 WebEngine 生命周期范例 .
[read-only, since 6.2]
loading
: const
bool
This property holds whether the page is currently loading.
该特性在 Qt 6.2 引入。
访问函数:
bool | isLoading () const |
通知程序信号:
void | loadingChanged (const QWebEngineLoadingInfo & loadingInfo ) |
另请参阅 QWebEngineLoadingInfo , loadStarted ,和 loadFinished .
[read-only, since 5.7]
recentlyAudible
: const
bool
此特性保持当前页面的 audible state ,也就是,最近是否有播放音频。
默认值为
false
.
该特性在 Qt 5.7 引入。
访问函数:
bool | recentlyAudible () const |
通知程序信号:
void | recentlyAudibleChanged (bool recentlyAudible ) |
另请参阅 audioMuted .
[read-only, since 5.14]
recommendedState
: const
LifecycleState
此特性保持页面生命周期状态的推荐限制。
把生命周期状态设为低于推荐状态的资源使用率状态可能导致副作用 (譬如:停止后台音频回放或丢失 HTML 表单输入)。不管怎样,把生命周期状态设为更高资源状态是完全安全的。
该特性在 Qt 5.14 引入。
访问函数:
QWebEnginePage::LifecycleState | recommendedState () const |
通知程序信号:
void | recommendedStateChanged (QWebEnginePage::LifecycleState state ) |
另请参阅 lifecycleState , 页面生命周期 API ,和 WebEngine 生命周期范例 .
[read-only, since 5.15]
renderProcessPid
: const
qint64
此特性保持赋值给当前页面主框架的渲染进程的 PID (进程 ID)。
若尚无可用渲染进程,
0
被返回。
该特性在 Qt 5.15 引入。
访问函数:
qint64 | renderProcessPid () const |
通知程序信号:
void | renderProcessPidChanged (qint64 pid ) |
[read-only]
requestedUrl
: const
QUrl
此特性保持当前查看页面最初请求加载的 URL。
注意: URL 可能异于返回的经由 url (),它是来自 DNS 解析或重定向结果的实际 URL。
访问函数:
QUrl | requestedUrl () const |
[read-only, since 5.7]
scrollPosition
: const
QPointF
此特性保持页面内容的卷动位置。
该特性在 Qt 5.7 引入。
访问函数:
QPointF | scrollPosition () const |
通知程序信号:
void | scrollPositionChanged (const QPointF & position ) |
[read-only]
selectedText
: const
QString
此特性保持当前选中的文本。
默认情况下,此特性包含空字符串。
访问函数:
QString | selectedText () const |
另请参阅 selectionChanged ().
[read-only]
title
: const
QString
此特性保持页面的标题,作为定义通过 HTML
<title>
元素。
若页面没有
<title>
元素,则使用 URL 代替。对于
file://
URL,仅使用文件名,而非完整路径。
默认情况下,在任何内容被加载之前,此特性包含空字符串。
访问函数:
QString | title () const |
另请参阅 titleChanged ().
此特性保持目前查看页面的 URL。
设置此特性清零视图并加载 URL。
默认情况下,此特性包含空的无效 URL。
访问函数:
QUrl | url () const |
void | setUrl (const QUrl & url ) |
另请参阅 urlChanged ().
[since 5.14]
visible
:
bool
此特性保持页面是否在页面可见性 API 中被认为可见。
设置此特性将改变
Document.hidden
和
Document.visibilityState
特性在 JavaScript,可以用于网站以自愿缩减资源使用率若它们对用户不可见。
若页面被连接到 view 那么,此特性将由视图根据自身的可见性自动管理。
该特性在 Qt 5.14 引入。
访问函数:
bool | isVisible () const |
void | setVisible (bool visible ) |
通知程序信号:
void | visibleChanged (bool visible ) |
另请参阅 lifecycleState .
此特性保持页面内容的缩放因子。
有效值范围从
0.25
to
5.0
。默认因子为
1.0
.
访问函数:
qreal | zoomFactor () const |
void | setZoomFactor (qreal factor ) |
[since 5.7]
void
QWebEnginePage::
runJavaScript
(const
QString
&
scriptSource
, const
std::function
<
void
(const
QVariant
&)> &
resultCallback
)
[since 5.7]
void
QWebEnginePage::
runJavaScript
(const
QString
&
scriptSource
,
quint32
worldId
= 0, const
std::function
<
void
(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 ,和 脚本注入 .
[since 5.5]
QWebEnginePage::
QWebEnginePage
(
QWebEngineProfile
*
profile
,
QObject
*
parent
= nullptr)
构造空 Web 引擎页面按 Web 引擎 Profile (配置文件) profile 采用父级 parent .
若 Profile (配置文件) 不是默认 Profile,调用者必须确保该 Profile 保持存活只要页面存在。
该函数在 Qt 5.5 引入。
构造空的 QWebEnginePage 采用父级 parent .
[signal, since 5.7]
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::
certificateError
(const
QWebEngineCertificateError
&
certificateError
)
This signal is emitted when an invalid certificate error is raised while loading a given request.
certificateError parameter contains information about the certificate and details of the error, it also provides the way to ignore the error and complete the request or stop loading the request.
另请参阅 QWebEngineCertificateError .
[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, since 5.14]
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, since 5.7]
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, since 6.2]
void
QWebEnginePage::
loadingChanged
(const
QWebEngineLoadingInfo
&
loadingInfo
)
This signal is emitted when loading the page specified by loadingInfo begins, ends, or fails.
注意: 通知程序信号对于特性 loading .
该函数在 Qt 6.2 引入。
[signal, since 6.2]
void
QWebEnginePage::
navigationRequested
(
QWebEngineNavigationRequest
&
request
)
This signal is emitted on navigation together with the call the acceptNavigationRequest (). It can be used to accept or ignore the request . The default is to accept.
该函数在 Qt 6.2 引入。
另请参阅 acceptNavigationRequest ().
[signal, since 6.2]
void
QWebEnginePage::
newWindowRequested
(
QWebEngineNewWindowRequest
&
request
)
此信号被发射当
request
is issued to load a page in a separate web engine window. This can either be because the current page requested it explicitly through a JavaScript call to
window.open
, or because the user clicked on a link while holding Shift, Ctrl, or a built-in combination that triggers the page to open in a new window.
The signal is handled by calling openIn() with the new page on the request. If this signal is not handled, the requested load will fail.
注意: This signal is not emitted if createWindow () handled the request first.
该函数在 Qt 6.2 引入。
另请参阅 createWindow () 和 QWebEngineNewWindowRequest::openIn ().
[signal]
void
QWebEnginePage::
pdfPrintingFinished
(const
QString
&
filePath
,
bool
success
)
此信号被发射,当把网页打印成 PDF 文件完成时。
filePath
将包含请求创建的文件路径,且
success
将是
true
若成功创建文件且
false
否则。
另请参阅 printToPdf ().
[signal]
void
QWebEnginePage::
proxyAuthenticationRequired
(const
QUrl
&
requestUrl
,
QAuthenticator
*
authenticator
, const
QString
&
proxyHost
)
此信号被发射当访问 requestUrl 凭借 proxyHost 要求对代理进行身份验证。 authenticator 应该被用于传递连接的用户名和口令。
[signal, since 5.11]
void
QWebEnginePage::
quotaRequested
(
QWebEngineQuotaRequest
quotaRequest
)
此信号被发射当网页请求的持久性存储大于应用程序在文件系统 API 中的当前分配时。默认配额为 0 字节。
请求对象 quotaRequest 可用于接受或拒绝请求。
该函数在 Qt 5.11 引入。
[signal, since 5.7]
void
QWebEnginePage::
recentlyAudibleChanged
(
bool
recentlyAudible
)
此信号会被发射,当页面的可听见状态, recentlyAudible 改变,因为音频播放或停止。
注意: 信号也会被发射当调用 setAudioMuted () 方法。此外,若音频被暂停,此信号被发射按近似 2 秒延迟 ,从音频被暂停的那一刻起。
注意: 通知程序信号对于特性 recentlyAudible .
该函数在 Qt 5.7 引入。
[signal, since 5.11]
void
QWebEnginePage::
registerProtocolHandlerRequested
(
QWebEngineRegisterProtocolHandlerRequest
request
)
此信号被发射当网页尝试注册自定义协议,使用 registerProtocolHandler API.
请求对象 request 可用于接受或拒绝请求:
void WebView::handleRegisterProtocolHandlerRequested( QWebEngineRegisterProtocolHandlerRequest request) { auto answer = QMessageBox::question(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, since 5.15]
void
QWebEnginePage::
renderProcessPidChanged
(
qint64
pid
)
此信号被发射当底层渲染进程 PID, pid ,改变。
注意: 通知程序信号对于特性 renderProcessPid .
该函数在 Qt 5.15 引入。
[signal, since 5.6]
void
QWebEnginePage::
renderProcessTerminated
(
QWebEnginePage::RenderProcessTerminationStatus
terminationStatus
,
int
exitCode
)
此信号被发射当渲染进程采用非零退出状态被终止时。 terminationStatus 是进程的终止状态,且 exitCode 是进程终止的状态码。
该函数在 Qt 5.6 引入。
[signal, since 5.12]
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 .
[虚拟]
QWebEnginePage::
~QWebEnginePage
()
销毁 Web 页面。
[virtual protected, since 5.5]
bool
QWebEnginePage::
acceptNavigationRequest
(const
QUrl
&
url
,
QWebEnginePage::NavigationType
type
,
bool
isMainFrame
)
此函数被调用当接收请求以导航到指定
url
通过指定导航类型
type
.
isMainFrame
指示请求是对应主框架,还是子级框架。若函数返回
true
,导航请求被接受且
url
被加载。默认实现接受所有导航请求。
可以将导航请求委托给 Qt 应用程序,而不是让 HTML 处理程序引擎通过重载此函数处理它们。这是必要的,当把 HTML 文档用作用户界面的一部分,且不显示外部数据时 (例如:当显示结果列表时)。
注意: 不会调用此函数,对于同一页面中的片段导航。例如,这种导航是通过点击页面中的 #fragment 链接发生的。不会触发加载不同文档,即使它改变页面的URL 并添加历史条目。它仅充当页面内卷动的快捷方式。因此,不期望发生这种导航类型的委托。
注意:
加载进程开始且
loadStarted
() 信号被发射
before
请求被接受 (或拒绝)。因此,
loadFinished
() 信号返回
false
是可预期的即使在委派请求后。
注意: 当使用 setHtml or setContent 采用相对链接,请确保有指定基 URL,否则将认为链接无效,且不会发出导航请求。
QWebEngineUrlRequestInterceptor 类提供用于拦截和操纵请求的进一步选项。
该函数在 Qt 5.5 引入。
返回 QAction 为指定 WebAction action .
动作归 QWebEnginePage 但可以通过改变其特性定制外观。
QWebEnginePage 还负责实现动作,以便触发时在页面履行相应动作。
另请参阅 triggerAction ().
[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.
[virtual protected]
QWebEnginePage
*QWebEnginePage::
createWindow
(
QWebEnginePage::WebWindowType
type
)
此函数被调用以创建新窗口,采用指定 type 。例如,当 JavaScript 程序请求在新窗口中打开文档时。
若新窗口可以被创建,新窗口的 QWebEnginePage 被返回;否则 null 指针被返回。
若网页关联视图为 QWebEngineView 对象,则默认实现把请求转发给 QWebEngineView::createWindow ();否则,返回 null 指针。
If this call is not implemented or does not return a new page, newWindowRequested () is emitted to handle the request.
注意:
在通过 JavaScript 触发创建窗口的情况中,除重实现此方法外,应用程序还必须设置
QWebEngineSettings::JavascriptCanOpenWindows
to
true
为让方法被调用。
另请参阅 QWebEngineView::createWindow () 和 newWindowRequested ().
[since 5.11]
QWebEnginePage
*QWebEnginePage::
devToolsPage
() const
返回托管此页面开发者工具的页面,若有的话。
返回
nullptr
若未设置开发者工具页面。
该函数在 Qt 5.11 引入。
另请参阅 setDevToolsPage () 和 inspectedPage ().
[since 5.10]
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).
查找指定字符串, subString ,在页面使用给定 options 。 findTextFinished () 信号被发射当字符串搜索完成时。
要清零搜索高亮,只需传递空字符串。
resultCallback 必须接受 QWebEngineFindTextResult 参数。
警告: 我们保证回调 ( 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 ().
返回指向导航网页的视图历史的指针。
[since 5.11]
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 ().
加载 url 进此页面。
注意: 视图仍然相同,直到达成足够数据才显示新 URL。
另请参阅 setUrl (), setHtml (),和 setContent ().
[since 5.9]
void
QWebEnginePage::
load
(const
QWebEngineHttpRequest
&
request
)
发出指定 request 并加载响应。
该函数在 Qt 5.9 引入。
另请参阅 load (), setUrl (), url (), urlChanged (),和 QUrl::fromUserInput ().
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 layout , while the range of pages printed is taken from ranges with the default being printing all pages.
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.
另请参阅 pdfPrintingFinished ().
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 layout , while the range of pages printed is taken from ranges with the default being printing all pages.
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 实例在其中。
[since 5.5]
QWebEngineProfile
*QWebEnginePage::
profile
() const
返回页面所属 Web 引擎 Profile (配置文件)。
该函数在 Qt 5.5 引入。
[since 5.8]
void
QWebEnginePage::
replaceMisspelledWord
(const
QString
&
replacement
)
替换当前拼写错误单词采用 replacement .
可以找到当前拼写错误单词在 QWebEngineContextMenuRequest::misspelledWord (),且置换建议在 QWebEngineContextMenuRequest::spellCheckerSuggestions ().
该函数在 Qt 5.8 引入。
[since 5.8]
void
QWebEnginePage::
save
(const
QString
&
filePath
,
QWebEngineDownloadRequest::SavePageFormat
format
= QWebEngineDownloadRequest::MimeHtmlSaveFormat) const
把当前加载网页保存到磁盘。
网页被保存到 filePath 以指定 format .
这是以下动作的捷径:
此函数为网页发出异步下载请求,并立即返回。
该函数在 Qt 5.8 引入。
另请参阅 QWebEngineDownloadRequest::SavePageFormat .
返回被注入到页面中的脚本集合。
此外,页面还可能执行添加脚本透过 QWebEngineProfile::scripts ().
另请参阅 QWebEngineScriptCollection , QWebEngineScript ,和 脚本注入 .
把网页内容设为
data
。若
mimeType
自变量为空,假定内容为
text/plain,charset=US-ASCII
.
内容中引用的外部对象的定位相对于 baseUrl .
data 被立即加载;外部对象是异步加载的。
注意: 此方法不会影响页面会话或全局历史。
警告: 内容将被 % (百分号) 编码在凭借 IPC 被发送到渲染器之前。这可能增加其大小。% (百分号) 编码内容的最大大小 = 2 MB - 6 Bytes + MIME 类型字符串长度。
[since 5.11]
void
QWebEnginePage::
setDevToolsPage
(
QWebEnginePage
*
devToolsPage
)
绑定 devToolsPage 成此页面的开发者工具。触发 devToolsPage 以采用开发者工具导航到内部 URL。
这如同调用
setInspectedPage
() 在
devToolsPage
with
this
作为自变量。
该函数在 Qt 5.11 引入。
另请参阅 devToolsPage () 和 setInspectedPage ().
设置网站权限标识通过 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 ().
将此页面的内容设为 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 ().
[since 5.11]
void
QWebEnginePage::
setInspectedPage
(
QWebEnginePage
*
page
)
将此页面的内部开发者工具 URL 导航到 page .
这如同调用
setDevToolsPage
() 在
page
with
this
作为自变量。
该函数在 Qt 5.11 引入。
另请参阅 inspectedPage () 和 setDevToolsPage ().
[since 5.13]
void
QWebEnginePage::
setUrlRequestInterceptor
(
QWebEngineUrlRequestInterceptor
*
interceptor
)
注册请求拦截器 interceptor 到拦截 URL 请求。
页面不拥有指针的所有权。此拦截器被调用,在 Profile (配置文件) 中的任何拦截器之后,且不像 Profile 拦截器,仅拦截来自此页面的 URL 请求。
要取消请求拦截器设置,设置
nullptr
.
该函数在 Qt 5.13 引入。
另请参阅 QWebEngineUrlRequestInfo and QWebEngineProfile::setUrlRequestInterceptor ().
[since 5.7]
void
QWebEnginePage::
setWebChannel
(
QWebChannel
*
channel
,
quint32
worldId
= 0)
将此页面要使用的 Web 通道实例设为
channel
并使用 Chromium IPC (进程间通信) 消息将它连接到 Web 引擎传输。传输被暴露在 JavaScript 世界
worldId
as
qt.webChannelTransport
,其应该被使用当使用
Qt WebChannel JavaScript API
.
注意: 页面不拥有通道对象的所有权。
注意: 每页面只可以安装一 Web 通道,即使在另一 JavaScript 世界中设置了一个也会卸载任何已安装的 Web 通道。
该函数在 Qt 5.7 引入。
另请参阅 webChannel () 和 QWebEngineScript::ScriptWorldId .
返回指向页面设置对象的指针。
以 HTML 形式检索页面内容 (封闭于 HTML 和 BODY 标签) 的异步方法。成功完成后, resultCallback 被调用带有页面内容。
注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。
警告: 我们保证回调 ( resultCallback ) 始终被调用,但可能在页面销毁期间完成。当 QWebEnginePage 被删除,将采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。
另请参阅 setHtml () 和 toPlainText ().
把检索页面的内容 (完全剥离所有 HTML 格式) 转换为纯文本的异步方法。成功完成时, resultCallback 被调用带有页面内容。
注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。
警告: 我们保证回调 ( resultCallback ) 始终被调用,但可能在页面销毁期间完成。当 QWebEnginePage 被删除,将采用无效值触发回调,因此是不安全的使用相应 QWebEnginePage or QWebEngineView 实例在其中。
另请参阅 toHtml ().
[虚拟]
void
QWebEnginePage::
triggerAction
(
QWebEnginePage::WebAction
action
,
bool
checked
= false)
此函数可以被调用以触发指定 action 。它也会被调用通过 Qt WebEngine 若用户触发动作 (例如:透过上下文菜单项)。
若 action 是可复选动作,则 checked 指定动作是否被触发。
另请参阅 action ().
[since 5.5]
QWebChannel
*QWebEnginePage::
webChannel
() const
返回指向此页面所用的 Web 通道实例的指针,或 none 指针若未设置。此通道通过 Chromium IPC (进程间通信) 自动使用内部 Web 引擎传输机制,该机制在此页面的 JavaScript 上下文中被公开为
qt.webChannelTransport
.
该函数在 Qt 5.5 引入。
另请参阅 setWebChannel ().