当前位置:首页 > 实用技巧 >

webkit开发教程(WEBKIT用什么语言开发的)

来源:原点资讯(www.yd166.com)时间:2023-06-18 18:22:58作者:YD166手机阅读>>

在这篇教程中,我们会用 Python 的 PyQt 框架编写一个简单的 web 浏览器。关于 PyQt ,你可能已经有所耳闻了,它是 Qt 框架下的一系列 Python 组件,而 Qt(发音类似“cute”)是用来开发 GUI 的 C 框架。严格来讲, Qt 也可用于开发不带图形界面的程序,但是开发用户界面应该是 Qt 框架最为广泛的应用了。Qt 的主要优势是可以开发跨平台的图形界面程序,基于 Qt 的应用能够借助于各平台的原生性在不同类的设备上运行,而无须修改任何代码库。

webkit开发教程,WEBKIT用什么语言开发的(1)

想要学习Python。关注小编头条号,私信【学习资料】,即可免费领取一整套系统的板Python学习教程!

Qt 附带了 webkit 的接口,你可以直接使用 PyQt 来开发一个基于 webkit 的浏览器。

我们本次教程所开发的浏览器可以完成如下功能:

加载用户输入的url

显示在渲染页面过程中发起的所有请求

允许用户在页面中执行自定义的 JavaScript 脚本

牛刀小试

让我们从最简单的 PyQt 的 Webkit 用例开始吧:输入 url,打开窗口并在窗口中加载页面。

这个例子十分短小,连 import 语句和空行在内也只有 13 行代码。

webkit开发教程,WEBKIT用什么语言开发的(2)

当你通过命令行将 url 传给脚本时,程序会加载 url 并且在窗口中显示加载完成的页面。

现在,看似你已经有一个“命令行浏览器”啦!至少比 python 的 requests 模块强多了,甚至比 Lynx 还略高一筹,因为我们的浏览器还可以加载 JavaScript 脚本呢。但是目前为止还没有跟 Lynx 拉开差距,因为在启用浏览器的时候只能通过命令行传入 url。那么,必然需要通过某种方式把需要加载的 url 传入浏览器。没错,就是地址栏!

添加地址栏

其实地址栏的实现非常简单,我们只需要在窗口顶端加一个输入框就够了。用户在文本框中输入 url 之后,浏览器就会加载这个地址。下面,我们将用到 QLineEdit 控件来实现输入框。鉴于我们的浏览器现在有地址栏和浏览器显示框两部分,因此还要给我们的应用增加一个网格布局。

webkit开发教程,WEBKIT用什么语言开发的(3)

到这里,我们已经有一个浏览器的雏形啦!看上去和当年的 Google Chrome 还有几分相像呢,毕竟两者采用了相同的渲染引擎。现在,你可以在输入框中输入 url ,程序便会将地址传入浏览器,接着渲染出所有的 HTML 页面和 JavaScript 脚本并展示出来。

添加开发工具

一个浏览器最有趣也最重要的部分是什么?当然是各种各样的开发工具了!一个没有开发者控制台的浏览器怎么能算是浏览器呢?所以,我们的 Python 浏览器当然也要有一些开发者工具才行。

现在,我们就来添加一些类似于 Chrome 的开发者工具中 “Network” 标签的功能吧!这个功能就是简单地追踪浏览器引擎在加载页面的时候所执行的所有请求。在浏览器主页面的下方,我们将通过一个表来显示这些请求。简单起见,我们只会记录登录的 url、返回的状态码和响应的内容类型。

首先我们要通过 QTableWidget 组件创建一个表格,表头包括需要存储的字段名称,表格可以根据每次新插入的记录来自动调整大小。

webkit开发教程,WEBKIT用什么语言开发的(4)

首页 123下一页

栏目热文

试用性webkit功能怎么设置

试用性webkit功能怎么设置

Safari 对于 iPhone 用户来说一定不陌生。作为内置浏览器,Safari 干净、安全、迅速又强大。无论是网页搜...

2023-06-18 17:50:41查看全文 >>

webkit是什么功能(试验性webkit功能可以都关掉吗)

webkit是什么功能(试验性webkit功能可以都关掉吗)

外媒报道,上周末,有媒体报道称,Safari浏览器的WebKit引擎出现一个Bug,可以使网站通过该浏览器跟踪用户的浏览...

2023-06-18 18:11:41查看全文 >>

实验性webkit功能设置

实验性webkit功能设置

在对 iOS 15 最新 Beta 版本代码深入挖掘之后,外媒发现在 Safari 浏览器中提供了启用 WebM 音频编...

2023-06-18 17:46:46查看全文 >>

试验性webkit怎么设置

试验性webkit怎么设置

Safari 对于 iPhone 用户来说一定不陌生。作为内置浏览器,Safari 干净、安全、迅速又强大。无论是网页搜...

2023-06-18 18:17:26查看全文 >>

银魂完结多少话(银魂完结了么)

银魂完结多少话(银魂完结了么)

官方宣布,连载14年的日本漫画《银魂》将正式结束,一共3话的完结篇启动,将在月刊《少年JUMP GIGA》连载3个月。无...

2023-06-18 18:04:04查看全文 >>

webkit功能(webkit功能选项详解)

webkit功能(webkit功能选项详解)

导语:本文从市面主流的浏览器及相应的内核引擎开始,介绍了Chromium为代表的浏览器架构及Blink内核的功能架构。C...

2023-06-18 17:57:21查看全文 >>

webkit怎么设置(safari怎么设置为webkit)

webkit怎么设置(safari怎么设置为webkit)

IE与WebKit内核Windows系统上的浏览器目前使用比较多的有两大内核,分别是Trident(也称之为IE内核)和...

2023-06-18 18:29:11查看全文 >>

实验性webkit功能怎么设置(如何恢复试验性webkit设置)

实验性webkit功能怎么设置(如何恢复试验性webkit设置)

苹果于北京时间2020年2月6日凌晨推送了 iOS 13.4 的第一个 beta 版本。随着几天的应用,又发现了一些更新...

2023-06-18 18:25:01查看全文 >>

webkit代码调试

webkit代码调试

今年的Pwn2Own比赛刚刚结束,在Pwn2Own温哥华站的比赛中,Fluoroacetate团队所使用的一个Webki...

2023-06-18 18:29:11查看全文 >>

webkit浏览器设置(safari浏览器webkit改了怎么恢复)

webkit浏览器设置(safari浏览器webkit改了怎么恢复)

作为一个广受好评的浏览器引擎,其网页布局的质量(包括速度、效率、符合标准度等)往往是其关键,那么WebKit究竟是如何布...

2023-06-18 18:32:17查看全文 >>

文档排行