怎么在python中使用QWebEngineView控件

  介绍

本篇文章给大家分享的是有关怎么在python中使用QWebEngineView控件,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

PyQt5浏览器控件QWebEngineView

PyQt5使用QWebEngineView控件来展示HTML页面,对老版本的QWebView类不在进行维护,因为QWebEngineView使用铬内核可以给用户带来更好的体验

QWebEngineView类中常用方法

方法描述负载(QUrl url)加载指定的url并显示setHtml (QString& HTML)将网页视图的内容设置为指定的HTML内容

QWebEngineView控件使用load()函数加载一个Web页面,实际上就是使用HTTP Get方法加载Web页面,这个控件可以加载本地的Web页面,也可以加载外部的Web页面,其核心代码如下

=QWebEngineView视图()   view.load (QUrl (& # 39; https://www.jb51.net& # 39;))   view.show ()

QWebEngineView加载显示外部的web页面实例

import 系统   得到PyQt5.QtCore  import  *   得到PyQt5.QtGui  import  *   得到PyQt5.QtWidgets  import  *   得到PyQt5.QtWebEngineWidgets  import  *      class 主窗口(QMainWindow):   def 才能__init__(自我):   ,,,超级(主窗口,,自我). __init__ ()   ,,,self.setWindowTitle(& # 39;加载外部网页的例子& # 39;)   ,,,self.setGeometry (5、30、1355、730)   ,,,self.browser=QWebEngineView ()   ,,,#加载外部的web界面   ,,,self.browser.load (QUrl (& # 39; https://www.jb51.net& # 39;))   ,,,self.setCentralWidget (self.browser)   if  __name__ ==, & # 39; __main__ # 39;:   应用=才能QApplication (sys.argv)   赢才能=主窗口()   win.show才能()   app.exit才能(app.exec_ ())

运行效果图如下

怎么在python中使用QWebEngineView控件

在这里,我输入的url是我的博客地址,所以加载的也就是这个网址请求的web界面

QWebEngineView加载并显示嵌入的HTML代码

import 系统   得到PyQt5.QtCore  import  *   得到PyQt5.QtGui  import  *   得到PyQt5.QtWidgets  import  *   得到PyQt5.QtWebEngineWidgets  import  *      class 主窗口(QMainWindow):   def 才能__init__(自我):   ,,,超级(主窗口,,自我). __init__ ()   ,,,self.setWindowTitle(& # 39;加载本地网页的例子& # 39;)   ,,,self.setGeometry (5、30、1355、730)   ,,,self.browser=QWebEngineView ()   ,,,#,#加载外部的web界面   ,,,#,url=" # 39; index . html # 39;   ,,,#,self.browser.load (QUrl (url))      ,,,self.browser.setHtml (& # 39; & # 39; & # 39; & lt; ! DOCTYPE  html>   ,,,,,,,,,,,,,,,& lt; html  lang=癳n"比;   ,,,,,,,,,,,,,,,& lt; head>   ,,,,,,,,,,,,,,,,,& lt; meta  charset=癠TF-8"比;   ,,,,,,,,,,,,,,,,,& lt; title> Title   ,,,,,,,,,,,,,,,& lt;/head>   ,,,,,,,,,,,,,,,& lt; body>   ,,,,,,,,,,,,,,,& lt; h2> Hello  PyQt5   ,,,,,,,,,,,,,,,& lt; h2> Hello  PyQt5   ,,,,,,,,,,,,,,,& lt; h2> Hello  PyQt5   ,,,,,,,,,,,,,,,& lt; h2> Hello  PyQt5   ,,,,,,,,,,,,,,,& lt; h2> Hello  PyQt5      ,,,,,,,,,,,,,,,& lt;/body>   ,,,,,,,,,,,,,,,& lt;/html> & # 39; & # 39; & # 39;)   ,,,self.setCentralWidget (self.browser)   if  __name__ ==, & # 39; __main__ # 39;:   应用=才能QApplication (sys.argv)   赢才能=主窗口()   win.show才能()   app.exit才能(app.exec_ ())

运行图片如下

怎么在python中使用QWebEngineView控件

注意使用QWebEngineView对象的setHTML()函数渲染HTml页面时,如果页面中使用的JavaScript代码超过2 m,程序渲染就会失败

QWebEngineView调用JavaScript代码实例

通过QWebEnginePage类的runJavaScript (str,可调用)函数可以方便地实现PyQt和HTml, JavaScript的双向通信,也实现了python代码和HTml, JavaScript代码的解耦,便于开发人员进行分工协作,在PyQt对象中,访问JavaScript的核心代码如下

QWebEnginePage.runJavaScript (str,可调用)

完整代码

import 系统      得到PyQt5.QtWebEngineWidgets  import  QWebEngineView   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在python中使用QWebEngineView控件