使用pyQT5顯示網(wǎng)頁(yè)的實(shí)現(xiàn)步驟
開發(fā)環(huán)境配置請(qǐng)參考博文:
【python】在PyCharm中使用pyQT5進(jìn)行GUI開發(fā)的基本流程
1、PyQTWebEngine安裝庫(kù)
加載網(wǎng)頁(yè)需要使用PyQTWebEngine庫(kù),可以使用import PyQt5.QtWebEngineWidgets測(cè)試是否有這個(gè)庫(kù),如果沒(méi)有,需要先安裝
pip install PyQtWebEngine -i https://pypi.douban.com/simple/
2、設(shè)計(jì)窗體
在QT Designer里面,沒(méi)有WebEngine窗體,只能在程序中創(chuàng)建,先將其他的部分放好。
這兒放置了一個(gè)LineEdit,用于輸入網(wǎng)址,一個(gè)按鈕

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, QtWidgets
class 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.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.lineEdit.setText(_translate("MainWindow", "http://www.baidu.com"))
self.pushButton.setText(_translate("MainWindow", "打開"))
4、添加代碼
引入庫(kù)文件
from PyQt5 import QtCore, QtGui, QtWidgets,QtWebEngineWidgets
1、添加WebEngine窗體
## 創(chuàng)建web窗體
self.qwebengine = QtWebEngineWidgets.QWebEngineView(MainWindow)
self.qwebengine.setGeometry(20, 50, 1600, 600)
2、創(chuàng)建按鈕功能
## 創(chuàng)建連接
self.pushButton.clicked.connect(self.open_url)
3、編寫按鈕函數(shù)
def open_url(self):
url=self.lineEdit.text()
self.qwebengine.load(QtCore.QUrl(url))
4、添加啟動(dòng)程序
import sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow() # 創(chuàng)建窗體對(duì)象
ui = Ui_MainWindow() # 創(chuàng)建PyQt設(shè)計(jì)的窗體對(duì)象
ui.setupUi(MainWindow) # 調(diào)用窗體的方法對(duì)對(duì)象進(jìn)行初始化設(shè)置
MainWindow.show() # 顯示窗體
sys.exit(app.exec_()) # 程序關(guān)閉時(shí)退出進(jìn)程
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,QtWebEngineWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("打開網(wǎng)頁(yè)")
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)
## 創(chuàng)建web窗體
self.qwebengine = QtWebEngineWidgets.QWebEngineView(MainWindow)
self.qwebengine.setGeometry(20, 50, 1600, 600)
## 創(chuàng)建連接
self.pushButton.clicked.connect(self.open_url)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "打開網(wǎng)頁(yè)"))
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 sys
if __name__ == '__main__':
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow() # 創(chuàng)建窗體對(duì)象
ui = Ui_MainWindow() # 創(chuàng)建PyQt設(shè)計(jì)的窗體對(duì)象
ui.setupUi(MainWindow) # 調(diào)用窗體的方法對(duì)對(duì)象進(jìn)行初始化設(shè)置
MainWindow.show() # 顯示窗體
sys.exit(app.exec_()) # 程序關(guān)閉時(shí)退出進(jìn)程
6、運(yùn)行

到此這篇關(guān)于使用pyQT5顯示網(wǎng)頁(yè)的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)pyQT5顯示網(wǎng)頁(yè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python深度學(xué)習(xí)之使用Pytorch搭建ShuffleNetv2
這篇文章主要介紹了Python深度學(xué)習(xí)之使用Pytorch搭建ShuffleNetv2,文中有非常詳細(xì)的圖文示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-05-05
PyCharm Python Console中文輸出亂碼問(wèn)題及解決
這篇文章主要介紹了PyCharm Python Console中文輸出亂碼問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例
本文主要介紹了python實(shí)現(xiàn)Excel多行多列的轉(zhuǎn)換的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
python實(shí)現(xiàn)超市商品銷售管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)超市商品銷售管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-10-10
Python對(duì)列表中的各項(xiàng)進(jìn)行關(guān)聯(lián)詳解
這篇文章主要給大家介紹了關(guān)于Python對(duì)列表中各項(xiàng)進(jìn)行關(guān)聯(lián)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
關(guān)于爬蟲中scrapy.Request的更多參數(shù)用法
這篇文章主要介紹了關(guān)于爬蟲中scrapy.Request的更多參數(shù)用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
聊聊python中的load、loads實(shí)現(xiàn)反序列化的問(wèn)題
在python自動(dòng)化中,我們傳遞一些參數(shù)是需要從文件中讀取過(guò)來(lái)的,讀取過(guò)來(lái)的字典并非python對(duì)象數(shù)據(jù)類型而是string類型。本文給大家分享python中的load、loads實(shí)現(xiàn)反序列化的問(wèn)題,感興趣的朋友一起看看吧2021-10-10

