主頁 > 知識庫 > Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼

Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼

熱門標(biāo)簽:如何地圖標(biāo)注公司 煙臺電話外呼營銷系統(tǒng) 電銷機(jī)器人錄音要學(xué)習(xí)什么 銀川電話機(jī)器人電話 企業(yè)彩鈴地圖標(biāo)注 預(yù)覽式外呼系統(tǒng) 外賣地址有什么地圖標(biāo)注 上海正規(guī)的外呼系統(tǒng)最新報價 長春極信防封電銷卡批發(fā)

1. 首先是環(huán)境的安裝 (本人使用的是PyCharm,python3.6)

pip3 install PyQt5 (沒有指定版本的話,默認(rèn)會安裝最新的)
pip3 install sip
pip3 install PyQtWebEngine
(PyQtWebEngine是Qt WebEngine的一組框架,該框架提供了在應(yīng)用程序中嵌入 Web 內(nèi)容的能力,并且基于 Chrome 瀏覽器。)

2. 實(shí)現(xiàn)代碼

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtWebEngineWidgets import *


import os
import sys


class MainWindow(QMainWindow):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.resize(2000, 1314)
        self.show()

        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)

        self.webview = WebEngineView(self)
        self.webview.load(QUrl("http://www.baidu.com"))

        self.create_tab(self.webview)

        navtb = QToolBar("Navigation")
        navtb.setIconSize(QSize(16, 16))
        self.addToolBar(navtb)

        back_btn = QAction(QIcon(os.path.join('images', 'houtui.png')), "后退", self)
        back_btn.triggered.connect(self.webview.back)
        navtb.addAction(back_btn)

        next_btn = QAction(QIcon(os.path.join('images', 'qianjin.png')), "前進(jìn)", self)
        next_btn.triggered.connect(self.webview.forward)
        navtb.addAction(next_btn)

        reload_btn = QAction(QIcon(os.path.join('images', 'refresh_icon.png')), "刷新", self)
        reload_btn.triggered.connect(self.webview.reload)
        navtb.addAction(reload_btn)

        home_btn = QAction(QIcon(os.path.join('images', 'geren1.png')), "主頁", self)
        navtb.addAction(home_btn)

        self.urlbar = QLineEdit()

        stop_btn = QAction(QIcon(os.path.join('images', 'cross-circle.png')), "Stop", self)
        stop_btn.triggered.connect(lambda: self.tabs.currentWidget().stop())
        navtb.addAction(stop_btn)

        self.urlbar.returnPressed.connect(self.navigate_to_url)

        navtb.addSeparator()
        navtb.addWidget(self.urlbar)

        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)

    def create_tab(self, webview):
        self.tab = QWidget()

        self.tabWidget.addTab(self.tab, "新建標(biāo)簽頁")
        self.tabWidget.setCurrentWidget(self.tab)

        self.Layout = QHBoxLayout(self.tab)
        self.Layout.setContentsMargins(0, 0, 0, 0)
        self.Layout.addWidget(webview)

    def close_Tab(self, index):
        if self.tabWidget.count() > 1:
            self.tabWidget.removeTab(index)
        else:
            self.close()


class WebEngineView(QWebEngineView):

    def __init__(self, mainwindow, parent=None):
        super(WebEngineView, self).__init__(parent)
        self.mainwindow = mainwindow

    def createWindow(self, QWebEnginePage_WebWindowType):
        new_webview = WebEngineView(self.mainwindow)
        self.mainwindow.create_tab(new_webview)
        return new_webview


app = QApplication(sys.argv)

browser = MainWindow()
browser.show()

sys.exit(app.exec_())

3. 運(yùn)行結(jié)果

4. Tips

如果提示說缺少哪些模塊的話,一般Pycharm都會有提示安裝,如果沒有提示,可以參考一下我運(yùn)行成功的庫:

矢量圖的話,可以去網(wǎng)上下載自己喜歡的風(fēng)格,有很多可以免費(fèi)下載的代碼部分參考了爬遍天下無敵手哥哥的文章https://www.jb51.net/article/185526.htm

到此這篇關(guān)于Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼的文章就介紹到這了,更多相關(guān)PyQt5 瀏覽器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python GUI庫圖形界面開發(fā)之PyQt5瀏覽器控件QWebEngineView詳細(xì)使用方法
  • python3使用pyqt5制作一個超簡單瀏覽器的實(shí)例
  • Python使用Pyqt5實(shí)現(xiàn)簡易瀏覽器(最新版本測試過)
  • 利用Python+PyQt5實(shí)現(xiàn)簡易瀏覽器的實(shí)戰(zhàn)記錄

標(biāo)簽:西寧 宜昌 潮州 湖北 佳木斯 珠海 盤錦 上饒

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼》,本文關(guān)鍵詞  Python,PyQt5,模塊,實(shí)現(xiàn),一個,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Python PyQt5模塊實(shí)現(xiàn)一個瀏覽器的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章