使用pyQT5顯示網(wǎng)頁(yè)的實(shí)現(xiàn)步驟
開(kāi)發(fā)環(huán)境配置請(qǐng)參考博文:
【python】在PyCharm中使用pyQT5進(jìn)行GUI開(kāi)發(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", "打開(kāi)"))
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、編寫(xiě)按鈕函數(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("打開(kāi)網(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", "打開(kāi)網(wǎng)頁(yè)")) self.lineEdit.setText(_translate("MainWindow", "http://www.baidu.com")) self.pushButton.setText(_translate("MainWindow", "打開(kāi)")) 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)文章
Tensorflow實(shí)現(xiàn)部分參數(shù)梯度更新操作
今天小編就為大家分享一篇Tensorflow實(shí)現(xiàn)部分參數(shù)梯度更新操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01Win10?Anaconda?新建環(huán)境安裝python-pcl的步驟
這篇文章主要介紹了Win10?Anaconda?新建環(huán)境安裝python-pcl的方法,至于VS環(huán)境下安裝C++?版本的pcl也可以按照此文提供的步驟安裝實(shí)現(xiàn),需要的朋友可以參考下2022-04-04詳解如何使用opencv實(shí)現(xiàn)圖片相似度檢測(cè)
這篇文章主要為大家詳細(xì)介紹了如何使用opencv實(shí)現(xiàn)圖片相似度檢測(cè),文中的示例代碼講解詳細(xì),對(duì)于我們學(xué)習(xí)人工智能有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12jupyter notebook運(yùn)行命令顯示[*](解決辦法)
這篇文章主要介紹了jupyter notebook運(yùn)行命令顯示[*],文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05