20 网页交互
《PyQt5快速开发与实战》学习笔记。
PyQt5 使用 QWebEngineView 控件来展示 HTML 页面,对老版本中的 QWebView 类不再进行维护,因 QWebEngineView 使用 Chromium 内核可以给用户带来更好的体验。
Qt 慢慢淘汰了古老的 WebKit,取而代之的是使用 WebEngine 框架。WebEngine 是基于谷歌的 Chromium 引擎开发的,也就是内部集成了谷歌的 Chromium 引擎。WebEngine 框架是基于 Chromium 上的 Content API 封装,投入成本比较小,可以很好地支持 HTML5。
在 PyQt5 中可以通过 PyQt5.QtWebEngineWidgets.QWebEngineView 类来使用网页控件,此类定义如下:
方法
描述
load(QUrl)
加载指定的 URL 并显示
setHtml(str, baseUrl: QUrl=QUrl())
将网页视图的内容设置为指定的 HTML 内容
QWebEngineView 控件使用 load() 函数加载一个 Web 页面,实际上就是使用 HTTP GET 方法加载 Web 页面。这个控件既可以加载本地的 Web 页面,也可以加载远程的外部 Web 页面。
20.1 加载并显示外部的 Web 页面
import sys
from PyQt5.QtWebEngineWidgets import QWebEngineView
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QMainWindow, QApplication
cla