The 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 ) |
The QWebEnginePage 类提供用于查看和编辑 Web 文档的对象。
A Web 引擎页面 保持 HTML 文档的内容、导航链接的历史及动作。
QWebEnginePage 的 API 非常类似 QWebEngineView ,仍提供常用功能像 action () (称为 pageAction () 在 QWebEngineView ), triggerAction (),和 findText ().
页面可以被加载使用 load () 或 setUrl ()。另外,若拥有随时可用的 HTML 内容,可以使用 setHtml ()。GET 方法始终被用于加载 URL。
The QWebEnginePage 类还提供方法去检索目前由页面加载的 URL (见 url ()) 及要被加载的最初请求 URL (见 requestedUrl ))。这些方法使在加载进程期间发生 DNS 解答 (或重定向) 前后检索 URL 成为可能。 requestedUrl () 还匹配被添加到页面历史的 URL ( QWebEngineHistory ) 若加载成功。
HTML 页面标题可以被访问采用 title () 特性。此外,页面还可以指定图标,其可以被访问使用 icon () 或其 URL 使用 iconUrl () 特性。若标题或图标改变,相应 titleChanged (), iconChanged () 和 iconUrlChanged () 信号会被发射。 zoomFactor () 特性使能够按比例因子缩放网页内容。
The
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
.
The 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).
此枚举描述用户可能被要求授予 (或拒绝) 访问的平台特征访问类别:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::Geolocation
|
1
|
定位硬件或服务。 |
QWebEnginePage::MediaAudioCapture
|
2
|
音频捕获设备 (譬如:麦克风)。 |
QWebEnginePage::MediaVideoCapture
|
3
|
视频设备 (譬如:摄像头)。 |
QWebEnginePage::MediaAudioVideoCapture
|
4
|
音频和视频捕获设备。 |
QWebEnginePage::MouseLock
|
5
|
鼠标锁定,将鼠标指针锁定到 Web 视图 (通常用于游戏)。 |
另请参阅 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 PermissionPolicy .
此枚举指示实现的 chooseFiles () 函数应该仅返回一个文件或可以返回多个文件:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::FileSelectOpen
|
0
|
只返回一个文件名。 |
QWebEnginePage::FileSelectOpenMultiple
|
1
|
返回多个文件名。 |
另请参阅 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
|
消息指示出现错误。 |
此枚举描述导航请求类型:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::NavigationTypeLinkClicked
|
0
|
导航请求由点击链接产生。 |
QWebEnginePage::NavigationTypeTyped
|
1
|
导航请求由明确加载 URL 产生。 |
QWebEnginePage::NavigationTypeFormSubmitted
|
2
|
导航请求由表单提交产生。 |
QWebEnginePage::NavigationTypeBackForward
|
3
|
导航请求由后退 (或前进) 动作产生。 |
QWebEnginePage::NavigationTypeReload
|
4
|
导航请求由重新加载动作产生。 |
QWebEnginePage::NavigationTypeOther
|
5
|
导航请求由上述未涵盖的其它手段触发。 |
另请参阅 acceptNavigationRequest ().
此枚举描述用户可以为数据或设备访问设置的权限策略:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::PermissionUnknown
|
0
|
用户是否授予 (或拒绝) 权限未知。 |
QWebEnginePage::PermissionGrantedByUser
|
1
|
用户已授予权限。 |
QWebEnginePage::PermissionDeniedByUser
|
2
|
用户已拒绝权限。 |
另请参阅 featurePermissionRequested (), featurePermissionRequestCanceled (), setFeaturePermission (),和 Feature .
此枚举描述渲染进程终止状态:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::NormalTerminationStatus
|
0
|
渲染进程正常终止。 |
QWebEnginePage::AbnormalTerminationStatus
|
1
|
渲染进程以非零退出状态终止。 |
QWebEnginePage::CrashedTerminationStatus
|
2
|
渲染进程崩溃 (例如:由于分段故障)。 |
QWebEnginePage::KilledTerminationStatus
|
3
|
渲染进程被杀除,例如被
SIGKILL
或被任务管理器杀除。
|
该枚举在 Qt 5.6 引入或被修改。
此枚举描述可以在网页上履行的动作类型。
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) |
此枚举描述可以创建的窗口类型通过 createWindow () 函数:
常量 | 值 | 描述 |
---|---|---|
QWebEnginePage::WebBrowserWindow
|
0
|
完整 Web 浏览器窗口。 |
QWebEnginePage::WebBrowserTab
|
1
|
Web 浏览器选项卡。 |
QWebEnginePage::WebDialog
|
2
|
没有装饰的窗口。 |
QWebEnginePage::WebBrowserBackgroundTab
|
3
|
Web 浏览器选项卡不隐藏当前可见 WebEngineView (在 Qt 5.7 添加)。 |
此特性保持当前页面音频是否被静音。
默认值为
false
.
该特性在 Qt 5.7 引入。
访问函数:
bool | isAudioMuted () const |
void | setAudioMuted (bool muted ) |
通知程序信号:
void | audioMutedChanged (bool muted ) |
另请参阅 recentlyAudible .
此特性保持文档本体背后的页面背景颜色。
可以把背景颜色设为 Qt::transparent 或半透明颜色以透视文档,或将其设为匹配混合应用程序 Web 内容以防在加载期间可能出现的白色闪烁。
默认值为白色。
该特性在 Qt 5.6 引入。
访问函数:
QColor | backgroundColor () const |
void | setBackgroundColor (const QColor & color ) |
The size of the page contents.
该特性在 Qt 5.7 引入。
访问函数:
QSizeF | contentsSize () const |
通知程序信号:
void | contentsSizeChanged (const QSizeF & size ) |
此特性保持此页面是否包含选定内容。
访问函数:
bool | hasSelection () const |
另请参阅 selectionChanged ().
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 ().
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 ().
此特性保持当前页面的 audible state ,也就是,最近是否有播放音频。
默认值为
false
.
该特性在 Qt 5.7 引入。
访问函数:
bool | recentlyAudible () const |
通知程序信号:
void | recentlyAudibleChanged (bool recentlyAudible ) |
另请参阅 audioMuted .
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 |
此特性保持页面内容的卷动位置。
该特性在 Qt 5.7 引入。
访问函数:
QPointF | scrollPosition () const |
通知程序信号:
void | scrollPositionChanged (const QPointF & position ) |
This property holds the text currently selected
默认情况下,此特性包含空字符串。
访问函数:
QString | selectedText () const |
另请参阅 selectionChanged ().
此特性保持页面的标题,作为定义通过 HTML
<title>
element
访问函数:
QString | title () const |
另请参阅 titleChanged ().
This property holds the URL of the page currently viewed
设置此特性清零视图并加载 URL。
默认情况下,此特性包含空的无效 URL。
访问函数:
QUrl | url () const |
void | setUrl (const QUrl & url ) |
另请参阅 urlChanged ().
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 采用父级 parent .
构造空 Web 引擎页面按 Web 引擎 Profile (配置文件) profile 采用父级 parent .
若 Profile (配置文件) 不是默认 Profile,调用者必须确保该 Profile 保持存活只要页面存在。
该函数在 Qt 5.5 引入。
销毁 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 文档用作用户界面的一部分,且不显示外部数据时 (例如:当显示结果列表时)。
The QWebEngineUrlRequestInterceptor 类提供用于拦截和操纵请求的进一步选项。
该函数在 Qt 5.5 引入。
返回 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
)
此函数被调用,当加载给定请求时引发无效证书错误。
The 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.
返回当前上下文菜单的有关额外数据。它仅保证是有效的在调用 QWebEngineView::contextMenuEvent () 处理程序的关联 QWebEngineView .
该函数在 Qt 5.7 引入。
另请参阅 createStandardContextMenu ().
创建标准上下文菜单,当用户采用鼠标右键点击网页时展示。它被调用从默认 contextMenuEvent() 处理程序。将弹出菜单的所有权转移给调用者。
返回
nullptr
若上下文菜单数据未被初始化,例如:在实际不请求上下文菜单时调用它。
[virtual protected]
QWebEnginePage
*QWebEnginePage::
createWindow
(
WebWindowType
type
)
此函数被调用以创建新窗口,采用指定 type 。例如,当 JavaScript 程序请求在新窗口中打开文档时。
若新窗口可以被创建,新窗口的 QWebEnginePage 被返回;否则 null 指针被返回。
若网页关联视图为 QWebEngineView 对象,则默认实现把请求转发给 QWebEngineView::createWindow ();否则它返回 null 指针。
注意:
在通过 JavaScript 触发创建窗口的情况中,除重实现此方法外,应用程序还必须设置
QWebEngineSettings::JavascriptCanOpenWindows
to
true
为让方法被调用。
另请参阅 QWebEngineView::createWindow ().
[虚拟]
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 ().
查找指定字符串, subString ,在页面使用给定 options .
要清零搜索高亮,只需传递空字符串。
查找指定字符串, subString ,在页面使用给定 options .
要清零搜索高亮,只需传递空字符串。
The
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。
返回指向导航网页的视图历史的指针。
[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。
加载 url 进此页面。
注意: 视图仍然相同,直到达成足够数据才显示新 URL。
另请参阅 setUrl (), setHtml (),和 setContent ().
发出指定 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
将包含请求创建的文件路径,且
success
将是
true
若成功创建文件且
false
否则。
该函数在 Qt 5.9 引入。
另请参阅 printToPdf ().
将页面的当前内容渲染成临时 PDF 文档,然后打印它使用 printer .
将检索用于创建和打印 PDF 文档的设置从 printer object. It is the users responsibility to ensure the printer 仍然有效直到 resultCallback has been called.
The
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 引入。
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 ().
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 .
The 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 引入。
返回页面所属 Web 引擎 Profile (配置文件)。
该函数在 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 引入。
替换当前拼写错误单词采用 replacement .
可以找到当前拼写错误单词在 QWebEngineContextMenuData::misspelledWord (),且置换建议在 QWebEngineContextMenuData::spellCheckerSuggestions ().
该函数在 Qt 5.8 引入。
另请参阅 contextMenuData ().
运行包含的 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 .
此函数重载 runJavaScript ().
This convenience function runs the JavaScript code contained in scriptSource in the world specified by worldId .
该函数在 Qt 5.7 引入。
此函数重载 runJavaScript ().
运行包含的 JavaScript 代码在 scriptSource .
The script will run in the same world as other scripts that are part of the loaded site.
当执行脚本时, resultCallback 被调用带最后执行语句的结果。
另请参阅 QWebEngineScript::MainWorld .
此函数重载 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 .
把当前加载网页保存到磁盘。
网页被保存到 filePath 以指定 format .
这是以下动作的捷径:
此函数为网页发出异步下载请求,并立即返回。
该函数在 Qt 5.8 引入。
另请参阅 QWebEngineDownloadItem::SavePageFormat .
返回被注入到页面中的脚本集合。
此外,页面还可能执行添加脚本透过 QWebEngineProfile::scripts ().
另请参阅 QWebEngineScriptCollection and QWebEngineScript .
[signal]
void
QWebEnginePage::
selectionChanged
()
此信号被发射每当以交互或编程方式改变选定时。例如,通过调用 triggerAction () 采用选定动作。
另请参阅 selectedText ().
把网页内容设为
data
。若
mimeType
自变量为空,假定内容为
text/plain,charset=US-ASCII
.
内容中引用的外部对象的定位相对于 baseUrl .
The data 被立即加载;外部对象是异步加载的。
注意: 此方法不会影响页面会话或全局历史。
警告: 内容将被 % (百分号) 编码在凭借 IPC 被发送到渲染器之前。这可能增加其大小。% (百分号) 编码内容的最大大小 = 2 MB - 6 Bytes + MIME 类型字符串长度。
设置网站权限标识通过 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 ().
将此页面的内容设为 html . baseUrl 是可选的和用于解析文档中的相对 URL,譬如:引用的图像或样式表。
The 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 ().
设置 view 关联网页。
另请参阅 view ().
将此页面要使用的 Web 通道实例设为
channel
并使用 Chromium IPC (进程间通信) 消息将它连接到 Web 引擎传输。传输被暴露在 JavaScript 世界
worldId
as
qt.webChannelTransport
,其应该被使用当使用
Qt WebChannel JavaScript API
.
注意: 页面不拥有通道对象的所有权。
注意: 每页面只可以安装一 Web 通道,即使在另一 JavaScript 世界中设置了一个也会卸载任何已安装的 Web 通道。
该函数在 Qt 5.7 引入。
另请参阅 webChannel () 和 QWebEngineScript::ScriptWorldId .
这是重载函数。
将此页面要使用的 Web 通道实例设为 channel 并将其安装在主 JavaScript 世界。
采用此方法,可以通过网页内容访问 Web 通道。若内容不受控制且可能怀有敌意,这会是安全问题且应考虑将它安装在私有 JavaScript 世界中。
该函数在 Qt 5.5 引入。
另请参阅 QWebEngineScript::MainWorld .
返回指向页面设置对象的指针。
另请参阅 QWebEngineSettings::globalSettings ().
[signal]
void
QWebEnginePage::
titleChanged
(const
QString
&
title
)
此信号被发射每当页面标题改变时。 title 字符串指定新标题。
另请参阅 title ().
以 HTML 形式检索页面内容 (封闭于 HTML 和 BODY 标签) 的异步方法。成功完成后, resultCallback 被调用带有页面内容。
注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。
另请参阅 setHtml () 和 toPlainText ().
把检索页面的内容 (完全剥离所有 HTML 格式) 转换为纯文本的异步方法。成功完成时, resultCallback 被调用带有页面内容。
注意: resultCallback 可以是函数指针、函子或 Lambda,且期望接受 QString 参数。
另请参阅 toHtml ().
[虚拟]
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 ().
返回与网页关联的视图 Widget。
另请参阅 setView ().
返回指向此页面所用的 Web 通道实例的指针,或 none 指针若未设置。此通道通过 Chromium IPC (进程间通信) 自动使用内部 Web 引擎传输机制,该机制在此页面的 JavaScript 上下文中被公开为
qt.webChannelTransport
.
该函数在 Qt 5.5 引入。
另请参阅 setWebChannel ().
[signal]
void
QWebEnginePage::
windowCloseRequested
()
此信号被发射每当页面请求关闭 Web 浏览器窗口时,例如透过 JavaScript
window.close()
调用。
另请参阅 RequestClose .