日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法

瀏覽:26日期:2022-08-06 11:21:06
PyQt5瀏覽器控件QWebEngineView

PyQt5使用QWebEngineView控件來展示HTML頁面,對老版本的QWebView類不在進(jìn)行維護(hù),因為QWebEngineView使用CHromium內(nèi)核可以給用戶帶來更好的體驗

QWebEngineView類中常用方法 方法 描述 load(QUrl url) 加載指定的URL并顯示 setHtml(QString&html) 將網(wǎng)頁視圖的內(nèi)容設(shè)置為指定的HTML內(nèi)容

QWebEngineView控件使用load()函數(shù)加載一個Web頁面,實際上就是使用HTTP Get方法加載web頁面,這個控件可以加載本地的web頁面,也可以加載外部的WEb頁面,其核心代碼如下

view=QWebEngineView()view.load(QUrl(’https://www.jb51.net’))view.show()QWebEngineView加載顯示外部的web頁面實例

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.setWindowTitle(’加載外部網(wǎng)頁的例子’) self.setGeometry(5,30,1355,730) self.browser=QWebEngineView() #加載外部的web界面 self.browser.load(QUrl(’https://www.jb51.net’)) self.setCentralWidget(self.browser)if __name__ == ’__main__’: app=QApplication(sys.argv) win=MainWindow() win.show() app.exit(app.exec_())

運(yùn)行效果圖如下

python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法

在這里,我輸入的url是我的博客地址,所以加載的也就是這個網(wǎng)址請求的web界面

QWebEngineView加載并顯示嵌入的HTML代碼

import sysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *from PyQt5.QtWebEngineWidgets import *class MainWindow(QMainWindow): def __init__(self): super(MainWindow, self).__init__() self.setWindowTitle(’加載本地網(wǎng)頁的例子’) self.setGeometry(5,30,1355,730) self.browser=QWebEngineView() # #加載外部的web界面 # url=r’index.html’ # self.browser.load(QUrl(url)) self.browser.setHtml(’’’<!DOCTYPE html><html lang='en'><head> <meta charset='UTF-8'> <title>Title</title></head><body><h1>Hello PyQt5</h1><h1>Hello PyQt5</h1><h1>Hello PyQt5</h1><h1>Hello PyQt5</h1><h1>Hello PyQt5</h1></body></html>’’’) self.setCentralWidget(self.browser)if __name__ == ’__main__’: app=QApplication(sys.argv) win=MainWindow() win.show() app.exit(app.exec_())

運(yùn)行圖片如下

python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法

注意使用QWebEngineView對象的setHTML()函數(shù)渲染HTml頁面時,如果頁面中使用的JavaScript代碼超過2M,程序渲染就會失敗

QWebEngineView調(diào)用JavaScript代碼實例

通過QWebEnginePage類的runJavaScript(str,Callable)函數(shù)可以方便地實現(xiàn)PyQt和HTML、JavaScript的雙向通信,也實現(xiàn)了python代碼和Html,JavaScript代碼的解耦,便于開發(fā)人員進(jìn)行分工協(xié)作,在PyQt對象中,訪問JavaScript的核心代碼如下

QWebEnginePage.runJavaScript(str,Callable)

完整代碼

import sysfrom PyQt5.QtWebEngineWidgets import QWebEngineViewfrom PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton# 創(chuàng)建一個 application實例app = QApplication(sys.argv)win = QWidget()win.setWindowTitle(’Web頁面中的JavaScript與 QWebEngineView交互例子’)# 創(chuàng)建一個垂直布局器layout = QVBoxLayout()win.setLayout(layout)# 創(chuàng)建一個 QWebEngineView 對象view = QWebEngineView()view.setHtml(’’’ <html> <head> <title>A Demo Page</title> <script language='javascript'> // Completes the full-name control and // shows the submit button function completeAndReturnName() { var fname = document.getElementById(’fname’).value; var lname = document.getElementById(’lname’).value; var full = fname + ’’ + lname; document.getElementById(’fullname’).value = full; document.getElementById(’submit-btn’).style.display = ’block’; return full; } </script> </head> <body> <form> <label for='fname'>First name:</label> <input type='text' name='fname' id='fname'></input> <br /> <label for='lname'>Last name:</label> <input type='text' name='lname' id='lname'></input> <br /> <label for='fullname'>Full name:</label> <input disabled type='text' name='fullname' id='fullname'></input> <br /> <input type='submit' id='submit-btn'></input> </form> </body> </html>’’’)# 創(chuàng)建一個按鈕去調(diào)用 JavaScript代碼button = QPushButton(’設(shè)置全名’)def js_callback( result ): print(result)def complete_name(): view.page().runJavaScript(’completeAndReturnName();’, js_callback)# 按鈕連接 ’complete_name’槽,當(dāng)點擊按鈕是會觸發(fā)信號button.clicked.connect(complete_name)# 把QWebView和button加載到layout布局中l(wèi)ayout.addWidget(view)layout.addWidget(button)# 顯示窗口和運(yùn)行appwin.show()sys.exit(app.exec_())

python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法

代碼分析

在本例中,初始化一個QWebEngineView對象,對象名稱View,然后通過View。page()函數(shù)獲得一個QWebEnginePage對象,就可以訪問整個web界面了。這個QWebEnginePage對象有一個異步的runJavaScript()函數(shù),需要一個回調(diào)函數(shù)接收結(jié)果,其核心代碼如下

def js_callback( result ): print(result)def complete_name(): view.page().runJavaScript(’completeAndReturnName();’, js_callback)

本文詳細(xì)介紹了PyQt5瀏覽器控件QWebEngineView的使用方法,包括使用QWebEngineView調(diào)用JavaScript代碼,更多關(guān)于PyQt5瀏覽器控件QWebEngineView的使用方法請查看下面的相關(guān)鏈接

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩美女国产精品| 精品一区二区三区四区五区| 欧美伊人久久| 蜜桃视频一区二区| 欧美综合国产| 中文视频一区| 亚洲人成网站在线在线观看| 美女日韩在线中文字幕| 久久国产免费| 久久网站免费观看| 麻豆一区二区99久久久久| 国产午夜精品一区在线观看| 国产视频一区二| 麻豆国产精品| 97精品视频在线看| 91精品国产自产在线观看永久∴| www在线观看黄色| 欧美va天堂| 一区二区三区四区日韩| 日韩福利在线观看| 久久香蕉精品香蕉| 精品国产乱码久久久| 日本综合字幕| 亚洲欧美日本视频在线观看| 9久re热视频在线精品| 91麻豆精品激情在线观看最新 | 欧美99久久| 亚洲精选久久| 久久伊人亚洲| 国产精品精品国产一区二区| 91亚洲国产成人久久精品| 欧美~级网站不卡| 日韩一区二区三区免费视频| 精品视频97| 日韩亚洲国产欧美| 国产精品多人| 亚洲福利专区| 欧美激情亚洲| 久久高清免费观看| 精品一区视频| 国产亚洲精品v| 国产精品密蕾丝视频下载| 97国产成人高清在线观看| 精品视频久久| 久久精品国产久精国产| 久久精品国产在热久久| 国产精品第一国产精品| 国产欧美日韩亚洲一区二区三区| 日韩国产欧美在线播放| 青青草伊人久久| 国产精品久久久久9999高清| 在线看片日韩| 免费久久精品视频| 日本亚洲视频| 国产毛片久久久| 国产suv精品一区二区四区视频| 日韩不卡一区| 精品在线播放| 麻豆精品网站| 日本强好片久久久久久aaa| 国产欧美一区二区三区米奇| 国产精品流白浆在线观看| 国产精品男女| 精品国产亚洲一区二区三区| 色爱综合av| 欧美日韩视频免费看| 成人午夜网址| 蜜臀91精品一区二区三区| 久久不卡国产精品一区二区| 色婷婷久久久| 欧美精品国产一区| 美女网站一区| 久久99国产精品视频| 另类激情亚洲| 精品国产精品久久一区免费式 | av中文资源在线资源免费观看| 麻豆中文一区二区| 麻豆理论在线观看| 午夜一级在线看亚洲| 91国内精品| 日韩成人综合| 亚洲小说春色综合另类电影| 国产精品网址| 99精品电影| 亚洲一区欧美| 国产成人免费| 美女网站一区| 国产亚洲高清一区| 久久久久久色| 日韩一级不卡| 精品视频在线你懂得| 亚洲男女av一区二区| 四虎精品永久免费| 神马久久午夜| 日韩一区二区三区高清在线观看| 亚洲精品成人一区| 欧美日韩日本国产亚洲在线| 日韩动漫一区| 亚洲天堂久久| 精品欧美激情在线观看| 国产乱码精品一区二区三区亚洲人| 国产日韩电影| 国产精品毛片久久久| 夜久久久久久| 蜜臀91精品国产高清在线观看| 国产精品网址| 日韩一区二区三区免费视频| 麻豆精品视频在线观看| 日韩电影免费在线观看| 国产亚洲精品美女久久| 尹人成人综合网| 日韩精品麻豆| 国产在线日韩精品| 88久久精品| 国产欧美一区二区精品久久久| 国产一区白浆| 国内亚洲精品| а√在线中文在线新版| 国产精品久久777777毛茸茸| 蜜桃av一区二区三区电影| 国产精品一线| 日日夜夜免费精品视频| 欧美成人精品三级网站| 中国字幕a在线看韩国电影| 精品一区二区三区免费看| 日韩精选在线| 日韩黄色免费网站| 日韩和欧美的一区| 人人精品久久| 欧美一级全黄| 久久国际精品| 亚洲天堂1区| 999精品色在线播放| 国产一区二区三区不卡av | 青青国产精品| 精品中国亚洲| 精品一区视频| 欧美日韩一二三四| 丝瓜av网站精品一区二区 | 欧美少妇精品| 日韩有吗在线观看| 国产探花一区在线观看| 日本在线成人| 美女视频网站久久| 日韩精品欧美| 免费的成人av| 欧美黑人巨大videos精品| 亚洲天堂av影院| 免费毛片在线不卡| 亚洲精品动态| 国产日韩欧美| 亚洲一级高清| 日本亚洲欧美天堂免费| 美女在线视频一区| 亚洲免费播放| 亚洲aa在线| 激情国产在线| 日韩欧美高清一区二区三区| 精品精品国产三级a∨在线| 黄色亚洲免费| 欧美激情aⅴ一区二区三区 | 久久精品72免费观看| 久久免费福利| 亚洲另类视频| 美女av在线免费看| 视频一区二区三区在线| 国产乱码午夜在线视频| 亚洲韩日在线| 麻豆国产欧美一区二区三区| 欧美aa国产视频| 精品一区二区三区免费看 | 久久这里只有精品一区二区| 综合激情五月婷婷| 欧美好骚综合网| 亚洲精品一级| 日韩一级网站| 中文字幕人成乱码在线观看| 一区免费视频| 六月婷婷一区| 999国产精品视频| 国产一区二区三区视频在线| 日韩精品亚洲专区在线观看| 黄色成人91| 午夜欧美视频| 免费国产亚洲视频| 性欧美长视频| 好吊日精品视频| 亚洲午夜在线| 成人精品国产亚洲| 国产精品手机在线播放| 国产videos久久| 亚洲精品三级| 国产美女一区| 国产免费成人| 免费av一区二区三区四区| 精精国产xxxx视频在线野外| 亚洲欧美日韩国产综合精品二区| 欧美va亚洲va日韩∨a综合色| 免费视频亚洲| 水蜜桃久久夜色精品一区的特点|