qt webkitwidgets,qt5 webkit
Qt WebKit-lotu shy-博客花园中的Webkit/qt/api文档
QTWebkit中的Webkit/qt/api文档QTWebkit中的webkit/qt/api文档概述该目录下的文件都以前缀qweb开头,主要用于支持前端实现。核心类有qwebview、q网页和qwebframe。图中描述了三者之间的关系。(注意:图片来自QTWebkit附带的文档)
图qwebview、qwebpage和qwebframe之间的关系
视图是逻辑视图,真正的工作分别由页面和框架来完成。页面负责处理用户动作、导航和文本编辑;画框负责画图。从webkit的角度来看,页面和框架是一对多的关系,因为一个页面下可以有框架树,但通常是一对一的关系。从构建顺序来看,页面先于框架构建。
qwebsetting类管理配置信息,如家庭地址、代理、是否启用javascript、是否显示图片、是否支持插件等。
类图QWebViewQWebView是QWidget的子类。QWidget是QT平台的PlatformWidget。
QWebView.cpp有类似QWebView的详细描述。有兴趣的可以看看。
QWebView提供了一个显示和编辑web文档的小部件。
QWebView是QtWebKit网页浏览模块的主要widget组件。
常用API
加载从本地/远程加载url
history()访问历史对象
settings()访问设置对象。
Url()读取当前URL。
title()阅读当前标题
trigger pageaction处理web操作。
事件()
q网页在QWebPageQWebPage.cpp中有详细解释.有兴趣的可以看看。
QWebPage类提供可用于显示和编辑web文档的对象。
q网页负责网页内容、设置、历史和导航。在无widget的环境下,q网页可以配合QWebFrame完成类似QWebView的功能。
导航类型表导航类型
NavigationTypeLinkClicked
NavigationTypeFormSubmitted已提交
向前导航类型后退
导航类型重载
NavigationTypeFormResubmitted重新提交
WebAction表(方法q网页:triggerAction触发特定的操作)
WebAction
无后退
什么都不做。
无档链环
打开当前链接。
OpenLinkInNewWindow
在新窗口中打开当前链接。
OpenFrameInNewWindow
在新窗口中复制当前帧
DownloadLinkToDisk
保存当前链接
CopyLinkToClipboard
将当前链接复制到剪贴板
OpenImageInNewWindow
在新窗口中打开图像
DownloadImageToDisk
将图像保存到磁盘
CopyImageToClipboard
图像复制到剪贴板
CopyImageUrlToClipboard
将图像的url复制到剪贴板
背部
向后导航
向前
向前导航
停止
停止加载当前页面
StopScheduledPageRefresh
停止刷新或重定向所有挂起的页面。
重新加载
重载当前页面
ReloadAndBypassCache
不使用本地缓存重载当前页面。
切口
大剪刀
复制
复制
粘贴
粘贴
取消
撤消最后一次编辑。
重做
重做最近的编辑
MoveToNextChar
将光标移动到下一个字符。
MoveToPreviousChar
将光标移动到前一个字符。
MoveToNextWord
将光标移动到下一个单词
移动到上一个单词
将光标移动到上一个单词
MoveToNextLine
将光标移动到下一行。
MoveToPreviousLine
将光标移动到上一行。
MoveToStartOfLine
将光标移动到行首。
MoveToEndOfLine
将光标移动到行尾。
MoveToStartOfBlock
将光标移动到块的开头。
MoveToEndOfBlock
将光标移动到块的末尾。
MoveToStartOfDocument
将光标移动到文档的开头。
MoveToEndOfDocument
将光标移动到文档的末尾。
选择下一个字符
选择下一个字符。
选择PreviousChar
选择下一个单词
选择上一个单词
选择下一行
选择前一行
选择开始线
选择结束脱机
选择StartOfBlock
选择结束块
选择文档开始
选择文档结束
删除StartOfWord
DeleteEndOfWord
SetTextDirectionDefault
SetTextDirectionLeftToRight
SetTextDirectionRightToLeft
托格博尔德
在粗体和正常之间切换
倾斜倾斜
在斜体和正常之间切换
toggle下划线
在下划线和正常之间切换
检验要素
InsertParagraphSeparator
插入一个新段落。
插入线分隔符
插入新行。
选择全部
选择所有内容
PasteAndMatchStyle
从剪切板中粘贴内容并使用当前样式
移除格式
删除格式和样式
切换删除线
罢工和标准间切换
触发器下标
下标和基线间切换
切换上标
上标和基线间切换
InsertUnorderedList
有序列表
缩进
给当前选择的街区增加一个目的
升级
给当前选择的街区减一个目的
置中对齐
内容中间对齐
调整过的
内容两边对齐
对齐左侧
内容左对齐
AlignRight
内容右对齐
WebWindowType表WebWindowType
网络浏览器窗口
规则的网络浏览器窗口
WebModalDialog
行为和模态对话框一样
警报、确认和PromptJavascript中的警报、确认、提示三个弹出对话框,通常由铬客户端来实现。在qtwebkit中,这三个弹出对话框的实现放在了q网页中。三个实现均使用了提示框类。宏QT _ NO _消息框需要关闭。或者说,只有夸脱支持MessageBox才可以。
机器人自带的浏览器不支持弹出对话框,警告、确认、提示以原木方式打印。可以自定义一个铬客户端实现这三个方法。
EventQT中的事件由类事件定义。其子类QKeyEvent、QMouseEvent、QTouchEvent为主要的三类事件。在QTWebkit中,问网页:事件(QEvent*)为事件分发方法。它定义了统一的分发接口。具体的分发细则由私有类QWebPagePrivate实现。
q网页:事件(QEvent*)中处理的事件非常多,详见下表。
事件类型
计时器
d-时间事件
鼠标移动
鼠标移动事件
鼠标按钮按压
d- mousePressEvent
MouseButtonDblClick
d- mouseDoubleClickEvent
MouseButtonRelease
d- mouseReleaseEvent
上下文菜单
d-上下文菜单事件
车轮
d轮事件
按键
按键事件
按键释放
d-键释放事件
FocusIn
d-焦点事件
聚焦出去
d焦点事件
拖动进入
d-德拉根事件
休假
d-拖拽事件
拖拽移动
d-拖动移动事件
滴
d-下降事件
输入方法
d-输入方法事件
触摸开始
d-触摸事件
触摸更新
d-触摸事件
触摸端
d-触摸事件
注:d为QWebPagePrivate类型的对象。
通过阅读QWebPagePrivate的实现,可以发现,事件的处理均是由类事件处理程序的handleXXXX实现的。类事件处理程序是内核的事件处理器,所以,若要改变内核的事件处理规则可以修改该类。
实际上,Ekioh也是类似的事件处理方法。
事件处理程序使用平台电影站事件来描述相关的XXXXEvent,所以,需要将QXXXXEvent转化为对应的平台电影站事件。
根据在Ekioh上的经验,一个事件由驱动抛出,交给窗口服务器系统窗口服务器系统会按照自己的定义,把事件封装,然后,交给浏览器应用浏览器。应用则把窗口服务器的事件类型转化成内核需要的平台电影站事件,交给内核处理。
按键事件的处理流程是需要注意的。它是先派遣给编辑,然后再派遣给多姆。内核中的解释是:"在数字正射影像图事件处理之前运行输入法。为了匹配即,这种行为是必要的。
WTF!
如果要处理输入方法,则修改EditorClientQT。
页面客户端在ekioh中好像还没有这个类第10页需要的客户通常直接以构造参数的方式传给第七页。
从设计模式上看,第页和寻呼客户端间应用的是策略模式。
寻呼客户端分别为:
l铬合金客户端
l上下文菜单客户端
编辑客户
l拖拽客户端
l检查员客户
l设备方向客户端编译选项设备方向控制
l设备移动客户端-编译选项基于客户端的地理定位控制
l地理位置客户端-编译选项基于客户端的地理定位控制
夸脱的寻呼客户端的实现位于目录webkit/qt/WebCoreSupport。
QWebFrameQWebFrame代表网页中的一个框架。一个网页至少包含一个主框架。其它设计可以由设计或内联框架标签创建。
遍历数字正射影像图树的方法
数字正射影像图树遍历与操作
文档元素
返回数字正射影像图树的根节点
findAllElements,findFirstElement
返回满足条件的元素
加载,设置Html,设置内容
toHtml,toPlainText
在指定的框架中打开被链接文档
标题、网址、基本网址,图标
QWebFrame的渲染层种类
渲染层
内容杀手
滚动条播放器
恐慌层
所有层
qwebhistoryqweb settings qweb settings类用于存储q网页和QWebFrame使用的配置信息。
每一个q网页对象都有一个属于它的QWebSettings对象。该QWebSettings对象对该页,面,张,版进行配置。
QWebElementQWebElement类提供了便捷访问数字正射影像图元素的方法100 .数字正射影像图树的根是文件元素,可以使用方法QWebFrame:documentElement()访问。
访问特定元素的方法:
findAll()或findFirst()
遍历文档也可以用第一个孩子和nextSibling()。
数字正射影像图接口
findAll,findFirst
访问特定元素(由半铸钢钢性铸铁(铸造半钢)选择器指定)
第一个孩子,下一个兄弟姐妹,最后一个孩子
前兄弟姐妹
属性,setAttribute
查询或修改元素
hasAttribute,具有属性
移除属性
hasFocus,setFocus
标记名
父母
QWebElement遍历数字正射影像图树的实现依赖于类元素,遍历工作均由元素完成。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。