Qt中的QWebView
Webkit是一个开源的浏览器引擎,chrome也使用了作为核心。Qt中对Webkit做了封装,主要有以下几个类:
QWebView :最常用的类,作为一个窗体控件
QWebPage :包含在QWebView中,表示一个Document
QWebFrame :包含在QWebPage中,表示一个Frame
QWebSettings :网页渲染全局设置
QWebHistory :用于浏览的历史记录
WebView 使用 WebPage 来实现页面,WebPage 使用 WebFrame 来实现页面元素

- WebView中两种用来显示内容的方法
setUrl : 比如在使用VS code vue开发中,我在在本地端口生成了页面,然后监听本地端口,掉用QWebView的setUrl(QUrl(http://127.0.0.1:XXXX))就可以了
setContent : 直接将html源码放到QWebView中,以及网页中的元素(如:图片,样式,脚本)就采用“file:/// absolutePath”的方式了。
QWebPage类和QWebView类一样,都用于查看和编辑网页,不同的是,从两者的包含关系上我们可以知道,QWebView可以用于打开多个网页,而里面具体的网页对象就是QWebPage。QWebPage通过mainframe()方法可以得到More QWebView-like functions,如load(), setUrl() 和 setHtml()。
信号与槽:
在QT中信号与槽,作为一种非常好用的对象间的通信方式。本质是函数,信号与槽函数能携带任意类型、数量的参数。
且从QOobject 或其子类(例如Qwidget)派生的类都能够包含信号和槽。当对象改动其状态时,信号就由该对象发射出去,但是对象并不知道另一端是谁在接收这个信号。实现了信息封装。槽用于接收信号,是普通的对象成员函数。一个槽也不知道是否有所有信号和自己相连接。一个槽能接收多个信号,一个信号也能连接多个槽。信号也能连接信号。自定义信号:
在QT中允许自定义信号,并使用emit()触发,发射信号。
自定义信号使用 signals关键字。而在PyQt中使用 QtCore.pySignal() 可带参如pySignal(int) 或者pySignal(str)这样槽:
定义槽函数,普通函数使用slots关键字修饰。
PyQt中,使用@QtCore.pySlot() 装饰器修饰函数就行,也可以有参数,如@pySlot(int) @pySlot(str)信号与槽函数链接:
如:mySignal = QtCore.pySignal()
@pySlot()
def fun():
pass
mySgnal.connect(fun)发射信号PyQt中:
mySignal.emit()
如果带参,整型:mySignal.emit(2)
字符串: mySignal.emit('sq')
void back ()
void forward ()
void print ( QPrinter * printer ) const
void reload ()
void stop ()
19 public slots inherited from QWidget
1 public slot inherited from QObject
void iconChanged ()
void linkClicked ( const QUrl & url )
void loadFinished ( bool ok )
void loadProgress ( int progress )
void loadStarted ()
void selectionChanged ()
void statusBarMessage ( const QString & text )
void titleChanged ( const QString & title )
void urlChanged ( const QUrl & url )
1 signal inherited from QWidget
1 signal inherited from QObject
- linkClicked信号介绍
linkClicked信号能够发送的前提是对应的QWebPage::linkDelegationPolicy被设定为允许链接
Qt中的QWebView的更多相关文章
- Qt学习 之 QWebView
WebKit 是一个开源的浏览器引擎,目前 Safari,Chrome 等浏览器均使用了 WebKit 作为核心.Qt 从 4.5 版本开始,集成了 WebKit 作为 Qt 的平台组件,用户可以像使 ...
- Qt 中使用Singleton模式需小心
在qt中,使用Singleton模式时一定要小心.因为Singleton模式中使用的是静态对象,静态对象是直到程序结束才被释放的,然而,一旦把该静态对象纳入了Qt的父子对象体系,就会导致不明确的行为. ...
- qt中ui的 使用介绍
1.什么是ui?ui通常是用Qt 设计师设计出来的界面文件的后缀.通常情况下ui是一个指向这个界面类的指针.ui-> 一般就是用来访问这个界面类里面的控件.例如你的ui文件里有一个叫okButt ...
- Qt中 QString 和int, char等的“相互”转换
转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...
- QT 中 关键字讲解(emit,signal,slot)
Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法.作为一种通用的处理机制,信号与反应槽非常灵活,可以携 ...
- 第47课 Qt中的调色板
1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使 ...
- 第39课 Qt中的事件处理(下)
1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...
- 第38课 Qt中的事件处理(上)
1. GUI程序原理回顾 (1)图形界面应用程序的消息处理模型 (2)思考:操作系统发送的消息如何转变为Qt信号 2. Qt中的事件处理 (1)Qt平台将系统产生的消息转换为Qt事件 ①Qt事件是一个 ...
- 第32课 Qt中的文件操作
1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...
随机推荐
- 史上最走心webpack4.0中级教程——配置之外你应该知道的事
<webpack4.0各个击破系列>适合不满足于只会配置webpack但一时间又看不懂源码的中级读者.我没法保证这个系列是最好的,但至少能保证每一篇博文都跟那些Ctrl+C和Ctrl+V的 ...
- 基于React-Native0.55.4的语音识别项目全栈方案
移动端的API能力验证方案与PC端不一样!不一样!!不一样!!! 即使需要使用的API都存在,也不一定能用,这一点和PC端是有很大区别的,国内的手机系统虽然都是基于Android,但几乎都会经过各大厂 ...
- .Net Core 实践 - 使用log4net记录日志(3)— log4net向ElasticSearch写日志
demo地址:https://github.com/PuzzledAlien/log4net_demo/tree/master/DotNetCoreConsole_V3 Windows 10 安装部署 ...
- Echarts 数据视图 生成Excel的方法
一.生成Excel,两大方向:1后台生成Excel 查询数据库,使用NOPI生成Excel.2前台js生成Excel三种方式1)jquery.table2excel.js --采用,优势:兼容IE和C ...
- [Go] 使用go语言解决现代编程难题
1.计算机一直在演化,64核,128核等等,但是我们依旧在使用为单核设计的技术编程2.Go语言让分享自己的代码包更容易3.Go语言重新思考传统的面向对象,提供了更高效的复用代码手段4.Go不仅提供高性 ...
- C# 给现有PDF文档添加页眉、页脚
概述 页眉页脚是一篇完整.精致的文档的重要组成部分.在页眉页脚处,可以呈现的内容很多,如公司名称.页码.工作表名.日期.图片,如LOGO.标记等.在之前的文章中介绍了如何通过新建一页空白PDF页来添加 ...
- Oracle day03 连表查询
为什么要表连接进行查询? 查询部门名称为SALES的员工信息 如何进行表的连接查询? 两种方式:Sql 1992 和sql1999 sql1992sql分类 1.笛卡尔积 (表乘表) 2. ...
- 学JAVA第六天,运算符、表达式、if语句以及for、while、都循环
今天老师讲的内容有点多,但是都是在学C#时学过的,用法都差不多,所以很好理解. 算术运算符:+, - ,* , / ,% ,++ ,-- 关系运算符:>,<,>=,<=,== ...
- JestClient 使用教程,教你完成大部分ElasticSearch的操作。
本篇文章代码实现不多,主要是教你如何用JestClient去实现ElasticSearch上的操作. 授人以鱼不如授人以渔. 一.说明 1.elasticsearch版本:6.2.4 . jdk版本: ...
- Spring笔记04_AOP注解开发_模板_事务
目录 1. Spring基于AspectJ的注解的AOP开发 1. 1 SpringAOP的注解入门 1.2 Spring的AOP的注解通知类型 1.2.1 @Before:前置通知 1.2.2 @A ...