濮阳杆衣贸易有限公司

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

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

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

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

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

2. 實現(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')), "前進", 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, "新建標簽頁")
        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. 運行結(jié)果

4. Tips

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

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

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

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

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

巨人網(wǎng)絡通訊聲明:本文標題《Python PyQt5模塊實現(xiàn)一個瀏覽器的示例代碼》,本文關鍵詞  Python,PyQt5,模塊,實現(xiàn),一個,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python PyQt5模塊實現(xiàn)一個瀏覽器的示例代碼》相關的同類信息!
  • 本頁收集關于Python PyQt5模塊實現(xiàn)一個瀏覽器的示例代碼的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    遵化市| 台南县| 宕昌县| 武山县| 吐鲁番市| 商南县| 玉林市| 内黄县| 福建省| 秦皇岛市| 叙永县| 公主岭市| 丽江市| 鸡西市| 资源县| 仪陇县| 库车县| 阜南县| 汤阴县| 皋兰县| 莫力| 双鸭山市| 永川市| 吴旗县| 米易县| 西和县| 且末县| 惠水县| 宿松县| 哈巴河县| 钟祥市| 珲春市| 汽车| 龙海市| 那曲县| 京山县| 始兴县| 东乌珠穆沁旗| 凌海市| 临海市| 独山县|