一、Webkit了解

Webkit是一个开源的浏览器引擎,chrome也使用了作为核心。Qt中对Webkit做了封装,主要有以下几个类:

  • QWebView :最常用的类,作为一个窗体控件

  • QWebPage :包含在QWebView中,表示一个Document

  • QWebFrame :包含在QWebPage中,表示一个Frame

  • QWebSettings :网页渲染全局设置

  • QWebHistory :用于浏览的历史记录

WebView 使用 WebPage 来实现页面,WebPage 使用 WebFrame 来实现页面元素

二、QWebView
  • WebView中两种用来显示内容的方法
  1. setUrl : 比如在使用VS code vue开发中,我在在本地端口生成了页面,然后监听本地端口,掉用QWebView的setUrl(QUrl(http://127.0.0.1:XXXX))就可以了

  2. setContent : 直接将html源码放到QWebView中,以及网页中的元素(如:图片,样式,脚本)就采用“file:/// absolutePath”的方式了。

  3. QWebPage类和QWebView类一样,都用于查看和编辑网页,不同的是,从两者的包含关系上我们可以知道,QWebView可以用于打开多个网页,而里面具体的网页对象就是QWebPage。QWebPage通过mainframe()方法可以得到More QWebView-like functions,如load(), setUrl() 和 setHtml()。

2.2 QWebView中的信号与槽
  • 信号与槽:

    在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
  1. linkClicked信号介绍

    linkClicked信号能够发送的前提是对应的QWebPage::linkDelegationPolicy被设定为允许链接

Qt中的QWebView的更多相关文章

  1. Qt学习 之 QWebView

    WebKit 是一个开源的浏览器引擎,目前 Safari,Chrome 等浏览器均使用了 WebKit 作为核心.Qt 从 4.5 版本开始,集成了 WebKit 作为 Qt 的平台组件,用户可以像使 ...

  2. Qt 中使用Singleton模式需小心

    在qt中,使用Singleton模式时一定要小心.因为Singleton模式中使用的是静态对象,静态对象是直到程序结束才被释放的,然而,一旦把该静态对象纳入了Qt的父子对象体系,就会导致不明确的行为. ...

  3. qt中ui的 使用介绍

    1.什么是ui?ui通常是用Qt 设计师设计出来的界面文件的后缀.通常情况下ui是一个指向这个界面类的指针.ui-> 一般就是用来访问这个界面类里面的控件.例如你的ui文件里有一个叫okButt ...

  4. Qt中 QString 和int, char等的“相互”转换

    转载:http://blog.csdn.net/ei__nino/article/details/7297791 Qt中 int ,float ,double转换为QString 有两种方法 1.使用 ...

  5. QT 中 关键字讲解(emit,signal,slot)

    Qt中的类库有接近一半是从基类QObject上继承下来,信号与反应槽(signals/slot)机制就是用来在QObject类或其子类间通讯的方法.作为一种通用的处理机制,信号与反应槽非常灵活,可以携 ...

  6. 第47课 Qt中的调色板

    1. QPalette类 (1)QPalette类提供了绘制QWidget组件的不同状态所使用的颜色. (2)QPalette对象包含了3个状态的颜色描述 ①激活颜色组(Active):组件获得焦点使 ...

  7. 第39课 Qt中的事件处理(下)

    1. 事件的传递过程 (1)操作系统检测到用户动作时,会产生一条系统消息,该消息被发送到Qt应用程序 (2)Qt应用程序收到系统消息后,将其转化为一个对应的QEvent事件对象,并调用QObject: ...

  8. 第38课 Qt中的事件处理(上)

    1. GUI程序原理回顾 (1)图形界面应用程序的消息处理模型 (2)思考:操作系统发送的消息如何转变为Qt信号 2. Qt中的事件处理 (1)Qt平台将系统产生的消息转换为Qt事件 ①Qt事件是一个 ...

  9. 第32课 Qt中的文件操作

    1. Qt的中IO操作 (1)Qt中IO操作的处理方式 ①Qt通过统一的接口简化了文件和外部设备的操作方式 ②Qt中的文件被看作一种特殊的外部设备 ③Qt中的文件操作与外部设备的操作相同 (2)IO操 ...

随机推荐

  1. SpringCloud系列——Zuul 动态路由

    前言 Zuul 是在Spring Cloud Netflix平台上提供动态路由,监控,弹性,安全等边缘服务的框架,是Netflix基于jvm的路由器和服务器端负载均衡器,相当于是设备和 Netflix ...

  2. C#委托与事件总结

    目录 C#委托与事件的总结 1.概述 2.委托 2.1 什么是委托 2.2 委託的使用 2.3 深入理解委托 2.4 为什么要使用委托 2.5 代码清单 3.事件 3.1 事件与委托的关系 3.2 订 ...

  3. 使用asp.net mvc + entityframework + sqlServer 搭建一个简单的code first项目

    步骤: 1. 创建一个asp.net mvc 项目 1.1 项目创建好结构如下 2 通过vs安装EntityFramework框架 install-package entityframework 3. ...

  4. [Linux] memache打印所有的key

    1.在使用memcache的时候 , 经常需要查看下里面存储的值 , 前提是要先知道key是啥,memcache没有redis的keys命令 2.下面两个命令的结合,可以查看到key stats it ...

  5. Java 由浅入深GUI编程实战练习(二)

    一,项目简介 1.利用Java GUI 绘制图像界面,设置整体布局 2.编写一个随机数生成1~100的随机数 3.编写一个验证类,用于验证用户输入值与生成随机数是否相等并记录用户猜测次数,当用户猜测成 ...

  6. 15 , CSS 背景与列表

    1.CSS 中背景的使用 2.CSS 中列表的使用 15.1 CSS 中背景的使用 属性名称 属性值 说明 background-attachment scroll 设置背景图像会随视窗滚动 条的移动 ...

  7. 如何解决升级到Dynamics 365后有很多的Sandbox的WorkerProcess并导致异常?

    关注本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复254或者20170505可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong. ...

  8. Linux chmod命令用法

    chmod----改变一个或多个文件的存取模式(mode) Linux/Unix 的文件调用权限分为三级 : 文件拥有者.群组.其他.利用 chmod 可以藉以控制文件如何被他人所调用. 使用权限 : ...

  9. 可视化设计,类Excel的快速开发平台

    活字格Web应用生成器,是可视化设计,类Excel的快速开发平台,接下来给大家介绍如何体现这些特点. 一.可视化设计 网页系统的开发,包含UI设计+代码编写的工作,最终形成网页系统.这要求系统开发人员 ...

  10. 关于Keychain

    1.Keychain 浅析 2.iOS的密码管理系统 Keychain的介绍和使用 3.iOS开发中,唯一标识的解决方案之keyChain+UUID