开发环境配置请参考博文:
【python】在PyCharm中使用pyQT5进行GUI开发的基本流程

1、PyQTWebEngine安装库

加载网页需要使用PyQTWebEngine库,可以使用import PyQt5.QtWebEngineWidgets测试是否有这个库,如果没有,需要先安装

pip install PyQtWebEngine -i https://pypi.douban.com/simple/

2、设计窗体

在QT Designer里面,没有WebEngine窗体,只能在程序中创建,先将其他的部分放好。
这儿放置了一个LineEdit,用于输入网址,一个按钮

3、生成代码

使用pyUIC生成代码,生成的代码为:

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'web.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(1200, 700)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setGeometry(QtCore.QRect(20, 10, 631, 31))self.lineEdit.setObjectName("lineEdit")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(690, 10, 90, 30))self.pushButton.setObjectName("pushButton")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 1200, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.lineEdit.setText(_translate("MainWindow", "http://www.baidu.com"))self.pushButton.setText(_translate("MainWindow", "打开"))

4、添加代码

引入库文件

from PyQt5 import QtCore, QtGui, QtWidgets,QtWebEngineWidgets

1、添加WebEngine窗体

        ## 创建web窗体self.qwebengine = QtWebEngineWidgets.QWebEngineView(MainWindow)self.qwebengine.setGeometry(20, 50, 1600, 600)

2、创建按钮功能

        ## 创建连接self.pushButton.clicked.connect(self.open_url)

4、编写按钮函数

    def open_url(self):url=self.lineEdit.text()self.qwebengine.load(QtCore.QUrl(url))

4、添加启动程序

import sysif __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()  # 创建窗体对象ui = Ui_MainWindow()  # 创建PyQt设计的窗体对象ui.setupUi(MainWindow)  # 调用窗体的方法对对象进行初始化设置MainWindow.show()  # 显示窗体sys.exit(app.exec_())  # 程序关闭时退出进程

5、完整代码

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'web.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgets,QtWebEngineWidgetsclass Ui_MainWindow(object):def setupUi(self, MainWindow):MainWindow.setObjectName("打开网页")MainWindow.resize(1640, 700)self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setGeometry(QtCore.QRect(20, 10, 630, 30))self.lineEdit.setObjectName("lineEdit")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(690, 10, 90, 30))self.pushButton.setObjectName("pushButton")MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 1200, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)## 创建web窗体self.qwebengine = QtWebEngineWidgets.QWebEngineView(MainWindow)self.qwebengine.setGeometry(20, 50, 1600, 600)## 创建连接self.pushButton.clicked.connect(self.open_url)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "打开网页"))self.lineEdit.setText(_translate("MainWindow", "http://www.baidu.com"))self.pushButton.setText(_translate("MainWindow", "打开"))def open_url(self):url=self.lineEdit.text()self.qwebengine.load(QtCore.QUrl(url))import sysif __name__ == '__main__':app = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()  # 创建窗体对象ui = Ui_MainWindow()  # 创建PyQt设计的窗体对象ui.setupUi(MainWindow)  # 调用窗体的方法对对象进行初始化设置MainWindow.show()  # 显示窗体sys.exit(app.exec_())  # 程序关闭时退出进程

6、运行

【python】使用pyQT5显示网页相关推荐

  1. python【PyQt5】的环境搭建和使用(全网最全)其一

    目录 什么是pyQT 为什么要开发桌面应用 要讲些什么 搭建PyQt5开发环境 参见CSDN:pyQt5环境的搭建_Hi~晴天大圣的博客-CSDN博客_pyqt5环境搭建 1 Python 2 PyQ ...

  2. 使用python和PyQt5编写爬取百度图片的界面工具

    使用python和PyQt5编写爬取百度图片的界面工具 本篇文章的主要内容是展示我个人编写的,以界面小工具的方式爬取百度上面的图片,功能很单一,根据关键词爬取图片,代码很简单,新手上路请多指教. 代码 ...

  3. html文件怎么用Python做后端,利用python实现后端写网页(flask框架).pdf

    利利用用python实实现现后后端端写写网网页页 ((flask框框架架)) 如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑 ...

  4. python 显示html_如何使用python在本地显示带有html表单的网...

    我是一名行为科学家,通常通过让参与者在计算机上执行某些任务并记录他们的响应来收集数据(我使用pyglet包装器PsychoPy编写程序).也就是说,程序在本地运行,数据存储在本地. 现在我想知道是否有 ...

  5. android 串口一直打开_实例 | 使用Python串口实时显示数据并绘图

    今天为大家分享一篇使用Python串口实时显示数据并绘图的例子,具有很好的参考价值,希望对大家有所帮助. 一.安装pyserial以及基本用法 使用pyserial进行串口传输,在cmd下输入命令pi ...

  6. python 抓取的网页默认是bytes的,要转码

    python 抓取的网页默认是bytes的,要转码. 查看网页源码可以看到,我本次抓取的网页的编码方式是utf-8的. req = urllib.request.Request(url=myurl,h ...

  7. python串口数据绘图_使用Python串口实时显示数据并绘图的例子

    使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 "'E:\Anaconda3\Sc ...

  8. Python利用PyQt5制作一个获取网络实时数据NBA数据播报GUI

    现在NBA联赛也进行到半决赛了,我们怎么样才能以更快的方法获取NBA的数据呢?这里我们就自己来做一个数据播报的程序 文章目录 制作NBA数据爬虫 捋顺思路 编写代码 NBAReporter.py NB ...

  9. python中texttable库显示实时数据_用Python串口实时显示数据并绘图pyqtgraph

    用Python串口实时显示数据并绘图 使用pyserial进行串口传输 一.安装pyserial以及基本用法 在cmd下输入命令pip install pyserial 注:升级pip后会出现 &qu ...

最新文章

  1. 深度学习——训练时碰到的超参数
  2. JSP笔记-文件上传
  3. Sql Server系列:数据库操作
  4. 优化数据库大幅度提高Oracle的性能
  5. mysql热备份还原_利用xtrabackup完成mysql的热备份与还原
  6. 节点式光端机与点对点式光端机的区别
  7. 【洛谷2986】【USACO10MAR】伟大的奶牛聚集
  8. 2016-03-17 leaks 内存泄露
  9. 自然语言识别python_自然语言处理工具python调用hanlp中文实体识别
  10. Typora下载与安装
  11. SQL Server 2008 R2 是免费版下载地址
  12. 服务器DNS域名解析
  13. Intel CPU(i3、i5、i7、i9)型号、性能详细解读
  14. 富康路小学毕业郭佳华
  15. iOS_实现类似蒲公英、fir等发包平台 通过URL分发内测APP
  16. 7个等级 容灾等级_详细分析容灾备份的区别以及容灾的级别分类
  17. 红帽企业Linux发行日期
  18. C语言进阶--万字讲解带你学会字符串函数
  19. 二叉树已知两种遍历结果求另一个遍历结果
  20. UDP数据包接收逻辑的优化修改以及对性能的影响

热门文章

  1. 内存分页管理FIFO中的belady现象
  2. 并查集小结 (参考birdfly+修改)
  3. 《汽修汽配管理系统——“汽修管理”模块》项目研发阶段性总结
  4. 随身wifi wifi×××带来的安全问题
  5. 华为u9508荣耀2四核 Emotion UI B530精简ROOT刷机包【安全线刷模式,11月25日更新】
  6. 复杂系统学习(六):细胞自动机II:实现一个模型
  7. Move 和 SimpleMove
  8. int main(int argc, char argv[]) argc和argv是什么意思?
  9. MockMvc 模拟请求
  10. 上班族“黑话”全接触