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

您的位置:首頁技術文章
文章詳情頁

Python使用Pyqt5實現簡易瀏覽器(最新版本測試過)

瀏覽:113日期:2022-07-27 13:00:12

準備環境

首先我們需要的是我們的開發環境,我使用的是python 3.8.2和pyqt 5.14.2,因為有強迫癥,所以喜歡使用最新版的

安裝QtWebEngineWidgets

這是新版使用的web瀏覽器引擎,更加的貼近谷歌瀏覽器,好像是需要單獨安裝,我就是這樣的

pip3 install QtWebEngineWidgets

多tab頁面

做這個的時候遇到好多坑,比如在多個tab里面打開頁面,要使用這個QTabWidget,這個不用我們再去下載了,已經集成了

頁面鏈接點擊無反應

這個搞了我半天,我之前還一直以為是跨域的問題,其實是這個機制的問題,需要重寫createWindow方法

# 創建瀏覽器,重寫重寫createwindow方法實現頁面連接的點擊跳轉class WebEngineView(QWebEngineView): def __init__(self, mainwindow, parent=None): super(WebEngineView, self).__init__(parent) self.mainwindow = mainwindow # 重寫createwindow() def createWindow(self, QWebEnginePage_WebWindowType): new_webview = WebEngineView(self.mainwindow) self.mainwindow.create_tab(new_webview) return new_webview

然后大體就是一些頁面的布局,這個可以使用Qt Designer,可以自動轉化成為我們的py代碼

然后就是一些前進,后退,刷新,停止的方法

整體代碼,可運行

# -*- coding: utf-8 -*-# @Author: dshj# @Date : 2020/04/26import sysfrom PyQt5.QtWidgets import *from PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWebEngineWidgets import QWebEngineView# 創建主窗口class MainWindow(QMainWindow): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # 設置窗口標題 self.setWindowTitle(’簡易瀏覽器’) # 設置窗口大小900*600 self.resize(1300, 700) self.show() # 創建tabwidget(多標簽頁面) self.tabWidget = QTabWidget() self.tabWidget.setTabShape(QTabWidget.Triangular) self.tabWidget.setDocumentMode(True) self.tabWidget.setMovable(True) self.tabWidget.setTabsClosable(True) self.tabWidget.tabCloseRequested.connect(self.close_Tab) self.setCentralWidget(self.tabWidget) # 第一個tab頁面 self.webview = WebEngineView(self) # self必須要有,是將主窗口作為參數,傳給瀏覽器 self.webview.load(QUrl('http://www.baidu.com')) self.create_tab(self.webview) # 使用QToolBar創建導航欄,并使用QAction創建按鈕 # 添加導航欄 navigation_bar = QToolBar(’Navigation’) # 設定圖標的大小 navigation_bar.setIconSize(QSize(16, 16)) # 添加導航欄到窗口中 self.addToolBar(navigation_bar) # QAction類提供了抽象的用戶界面action,這些action可以被放置在窗口部件中 # 添加前進、后退、停止加載和刷新的按鈕 back_button = QAction(QIcon(’icons/houtui.png’), ’Back’, self) next_button = QAction(QIcon(’icons/qianjin.png’), ’Forward’, self) stop_button = QAction(QIcon(’icons/close.png’), ’stop’, self) reload_button = QAction(QIcon(’icons/shuaxin.png’), ’reload’, self) # 綁定事件 back_button.triggered.connect(self.webview.back) next_button.triggered.connect(self.webview.forward) stop_button.triggered.connect(self.webview.stop) reload_button.triggered.connect(self.webview.reload) # 將按鈕添加到導航欄上 navigation_bar.addAction(back_button) navigation_bar.addAction(next_button) navigation_bar.addAction(stop_button) navigation_bar.addAction(reload_button) # 添加URL地址欄 self.urlbar = QLineEdit() # 讓地址欄能響應回車按鍵信號 self.urlbar.returnPressed.connect(self.navigate_to_url) navigation_bar.addSeparator() navigation_bar.addWidget(self.urlbar) # 讓瀏覽器相應url地址的變化 self.webview.urlChanged.connect(self.renew_urlbar) # 顯示地址 def navigate_to_url(self): q = QUrl(self.urlbar.text()) if q.scheme() == ’’: q.setScheme(’http’) self.webview.setUrl(q) # 響應輸入的地址 def renew_urlbar(self, q): # 將當前網頁的鏈接更新到地址欄 self.urlbar.setText(q.toString()) self.urlbar.setCursorPosition(0) # 創建tab頁面 def create_tab(self, webview): self.tab = QWidget() self.tabWidget.addTab(self.tab, '新建頁面') self.tabWidget.setCurrentWidget(self.tab) # 渲染到頁面 self.Layout = QHBoxLayout(self.tab) self.Layout.setContentsMargins(0, 0, 0, 0) self.Layout.addWidget(webview) # 關閉tab頁面 def close_Tab(self, index): if self.tabWidget.count() > 1: self.tabWidget.removeTab(index) else: self.close() # 當只有1個tab時,關閉主窗口# 創建瀏覽器,重寫重寫createwindow方法實現頁面連接的點擊跳轉class WebEngineView(QWebEngineView): def __init__(self, mainwindow, parent=None): super(WebEngineView, self).__init__(parent) self.mainwindow = mainwindow # 重寫createwindow() def createWindow(self, QWebEnginePage_WebWindowType): new_webview = WebEngineView(self.mainwindow) self.mainwindow.create_tab(new_webview) return new_webview# 程序入口if __name__ == '__main__': app = QApplication(sys.argv) # 創建主窗口 browser = MainWindow() browser.show() # 運行應用,并監聽事件 sys.exit(app.exec_())

結果

可以去點擊地址去嘗試

Python使用Pyqt5實現簡易瀏覽器(最新版本測試過)

代碼下載

圖標什么的可以在阿里巴巴矢量圖標庫里面去找到

貼一下github地址

https://github.com/Tangleia/Python-tools-borwser

到此這篇關于Python使用Pyqt5實現簡易瀏覽器(最新版本測試過)的文章就介紹到這了,更多相關Python 簡易瀏覽器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲深夜av| 欧美日韩xxxx| 日韩欧美网址| 日韩一区三区| 免费观看亚洲天堂| 国产精品毛片一区二区在线看| 久久99国产精品视频| 国产精品99一区二区三| 99热精品久久| 久久亚洲图片| 亚洲丝袜美腿一区| 国产乱码精品一区二区亚洲| 久久精品国产99国产精品| 高清av不卡| 亚洲一区中文| 日本成人在线视频网站| 久久亚洲道色| 国产精品99一区二区| 亚洲精品麻豆| 日韩综合小视频| 国产一区二区视频在线看| 国产一区日韩一区| 亚洲精品乱码| 91一区二区三区四区| 欧美日韩国产亚洲一区| 日韩综合一区二区| 岛国av在线网站| 蜜臀av国产精品久久久久 | 久久国产成人| 国产精品一线天粉嫩av| 成人看片网站| aa国产精品| 日韩高清二区| 午夜欧美巨大性欧美巨大| 亚洲精品乱码久久久久久蜜桃麻豆 | 午夜精品婷婷| 国产亚洲久久| 成人羞羞在线观看网站| 亚洲精品第一| 精品国产亚洲一区二区三区在线 | 色天使综合视频| 午夜电影一区| 精品日韩视频| 国产精品啊v在线| 99在线|亚洲一区二区| 欧美1区2区3| 免费在线观看视频一区| 国产欧美日韩亚洲一区二区三区| 日韩综合精品| 国产精品久久久久久久久久白浆| 国产综合欧美| 国产成人精品999在线观看| 久热精品在线| 日韩欧美一区免费| 欧美日韩夜夜| 蜜臀av一区二区在线免费观看| 精品国产第一福利网站| 国产亚洲高清在线观看| 日韩视频二区| 日本欧美不卡| 国产精品久久乐| 亚洲区国产区| 视频小说一区二区| 麻豆中文一区二区| 91p九色成人| 亚洲精品九九| 激情五月综合| 日韩一区二区在线免费| 精品黄色一级片| 欧美啪啪一区| 中文一区一区三区免费在线观| 亚洲大片在线| 日韩不卡免费高清视频| 国产精品xx| 精品亚洲成人| 久久不见久久见免费视频7| 亚洲精品自拍| 亚洲激情久久| 91精品国产福利在线观看麻豆| 成人在线免费观看网站| 国产精品igao视频网网址不卡日韩| 日韩欧美中文字幕在线视频| 欧美69视频| 亚州av乱码久久精品蜜桃| 日韩高清中文字幕一区二区| 亚洲欧洲美洲av| 日本欧美国产| 欧美国产视频| 国产精品亲子伦av一区二区三区| 日产欧产美韩系列久久99| 天堂成人免费av电影一区| 99亚洲精品| 视频福利一区| 成人精品天堂一区二区三区| 免费一二一二在线视频| 日韩久久视频| 天堂av在线| 日韩精品欧美| 欧美成人午夜| 视频一区二区不卡| 日本不卡一二三区黄网| 久久国内精品视频| 欧美亚洲tv| 日韩精品一级二级| 中文字幕一区二区三区在线视频| 中文字幕一区二区精品区| 中文字幕日韩高清在线| 久久亚洲美女| 日韩高清一区在线| 麻豆精品久久久| а√在线中文在线新版| 成人羞羞在线观看网站| 日韩网站在线| 91嫩草精品| 免费一级欧美片在线观看网站| 日韩国产在线观看一区| 国产日本久久| 麻豆一区在线| 中文另类视频| 久久国产精品久久w女人spa| 日韩极品在线观看| 久久久久伊人| 91欧美国产| 一区免费视频| 欧美亚洲网站| 日韩理论视频| 玖玖精品视频| 国产精品久久久久久久久久久久久久久 | 精品视频在线你懂得| 久久视频国产| 亚洲精品动态| 国产精品99一区二区三| 国产一区二区三区四区五区| 久久精品导航| 日韩一区二区三区精品| 国产一区福利| 亚洲一区成人| 欧美一区二区三区久久精品| 精品一区二区三区的国产在线观看| 丝袜美腿诱惑一区二区三区| 免费一级片91| 久久久91麻豆精品国产一区| 国产韩日影视精品| 国产精品一区二区三区av麻| 久久中文视频| 国产欧美日韩综合一区在线播放| 成人在线网站| 美女精品网站| 国产精品13p| 亚洲精品婷婷| 蜜桃av在线播放| 欧美日韩va| 伊人久久大香线蕉av不卡| 国产精品一级在线观看| 在线成人直播| 国产suv精品一区| 午夜久久av | 日本在线观看不卡视频| 亚洲欧洲美洲av| 青青青国产精品| 91精品啪在线观看国产18 | 亚州国产精品| 蜜桃成人av| 国产一区二区三区日韩精品| 石原莉奈在线亚洲二区| 高清不卡一区| 日本亚洲视频在线| 蜜桃成人av| av资源中文在线天堂| 日韩成人一级| 首页国产欧美久久| 婷婷成人综合| 日韩久久一区二区三区| 亚洲精品成人一区| 日韩午夜精品| 日韩精品中文字幕第1页| 国产精品中文字幕亚洲欧美 | 亚洲不卡av不卡一区二区| 久久av综合| 国产欧美亚洲精品a| 亚洲视频国产精品| 国产亚洲精品久久久久婷婷瑜伽| 精品视频一区二区三区在线观看 | 免费高潮视频95在线观看网站| 久久av影院| 国产日韩中文在线中文字幕 | 免费高潮视频95在线观看网站| 国产午夜精品一区在线观看| 欧美专区在线| 国产一区视频在线观看免费| 高清一区二区| 精品国产网站| 卡一精品卡二卡三网站乱码| 日韩av不卡一区二区| 久久亚洲视频| 精品一区在线| 婷婷亚洲五月| 欧美日韩国产探花| 99国产精品私拍| 欧美专区一区二区三区|