QML 中的 WebEngineView
是用于显示网页内容的组件,它基于 Qt WebEngine,支持现代网页渲染和与 JavaScript 的交互。它通常用来在 QML 应用中嵌入浏览器或加载在线资源。WebEngineView
可以展示 HTML、CSS、JavaScript 等网页内容,并提供多种属性和方法来控制其行为。
如下是一个简单的demo和源码:
QML与Echarts图表
1.WebEngineView的主要属性
枚举 (enumeration
)
-
ErrorDomain: 表示与 WebEngine 相关的错误类型的枚举,如网络错误、SSL 错误等。
-
Feature: 用于控制浏览器功能的枚举,例如地理位置、媒体播放等。
-
FindFlags: 搜索功能的标志,用于定义在页面中查找文本时的行为。
-
JavaScriptConsoleMessageLevel: 控制台消息的等级,表示来自 JavaScript 控制台的消息重要性(例如,信息、警告、错误)。
-
LifecycleState: 页面生命周期的状态,如
Active
、Frozen
、Discarded
等。 -
LoadStatus: 表示页面加载的状态,例如
Loading
,Loaded
,Failed
。 -
PrintedPageOrientation: 打印时页面的方向(横向或纵向)。
-
PrintedPageSizeId: 页面打印尺寸的枚举(如 A4, Letter 等)。
-
RenderProcessTerminationStatus: 渲染进程终止的状态,如正常退出或崩溃退出。
-
WebAction: 浏览器动作的枚举(如后退、前进、重新加载等)。
布尔属性 (bool
)
-
activeFocusOnPress: 决定点击
WebEngineView
时是否获得焦点。 -
audioMuted: 控制网页中的音频是否静音。
-
canGoBack: 指示是否可以导航回历史记录中的前一个页面。
-
canGoForward: 指示是否可以导航到历史记录中的下一个页面。
-
isFullScreen: 是否当前页面处于全屏模式。
-
loading: 页面是否正在加载。
-
recentlyAudible: 指示网页是否最近有音频输出。
颜色属性 (color
)
- backgroundColor: 设置
WebEngineView
的背景颜色。
数字和几何属性
-
contentsSize: 网页内容的大小。
-
loadProgress: 页面加载进度,范围从 0 到 100。
-
scrollPosition: 当前网页的滚动位置。
-
renderProcessPid: 渲染进程的进程 ID。
-
zoomFactor: 网页的缩放比例。
其他对象属性
-
devToolsView: 用于显示开发者工具的
WebEngineView
实例。 -
history: 提供对
WebEngineHistory
对象的访问,以获取或操作浏览历史记录。 -
icon: 当前网页的图标(如网站的 favicon)。
-
inspectedView: 被检查的
WebEngineView
,用于调试时的场景。 -
lifecycleState: 网页的生命周期状态(如
Active
,Frozen
)。 -
profile: 当前
WebEngineView
的WebEngineProfile
,用于存储 cookie、缓存等。 -
recommendedState: 推荐的页面生命周期状态。
-
settings: 用于获取和设置与页面呈现相关的
WebEngineSettings
。 -
title: 当前页面的标题。
-
url: 当前加载的页面 URL。
-
userScripts: 包含网页上运行的用户脚本集合。
-
webChannel: 用于 Web 与 QML 交互的
QQmlWebChannel
实例。 -
webChannelWorld: 用于隔离不同
WebChannel
实例的 ID。
2.WebEngineView信号
信号解释
-
activeFocusOnPressChanged(bool activeFocusOnPress)