在新版的PyQt5中是没有WebView的,但是相关学习资料中包括了这个部分。所以参照了几篇帖子,总结了以下的方法
软件版本:Pycharm2021 2.3 PyQt5 5.15
1. 解决没有QtWebEngine包的问题
我使用的是Anaconda Prompt进入cmd环境,我将包安装在pytorch环境中
使用pip install PyQtWebEngine方法即可安装,详见下图
2. 解决Qt designer没有QWebEngineView的方法
(1)在左侧控件中选择Widget控件
(2)右击选择 Promote to
(3)输入以下内容,点击Add,即将Widget升级成WebEngine,但是,这个控件不能输入参数,即网址。需要在ui转成的py文件中添加URL
3. 解决生成ui转py文件中,程序报错问题
在将ui文件转成py文件后,py文件中并没有URL等参数,需要自己手动修改,需要将下图的注释3行代码替换成未注释的代码即可
# self.widget = QtWebEngineWidgets.QWebEngineView(self.centralwidget) # self.widget.setGeometry(QtCore.QRect(280, 470, 120, 80)) # self.widget.setObjectName("widget") self.webview = QtWebEngineWidgets.QWebEngineView(self.centralwidget) self.webview.setGeometry(QtCore.QRect(280, 470, 120, 80)) self.webview.setUrl(QtCore.QUrl("https://www.baidu.com/")) self.webview.setObjectName("webview")
4.编写运行程序
运行程序大同小异,基本不用修改,只要修改导入包的文件名即可
import sys import MainWinAbsolute from PyQt5.QtWidgets import QApplication, QMainWindow if __name__ == '__main__': app = QApplication(sys.argv) mainwindow = QMainWindow() # 导入主控界面 ui = MainWinAbsolute.Ui_MainWindow() # 导入控件 ui.setupUi(mainwindow) mainwindow.show() sys.exit(app.exec())
5.运行结果