Хорошо, ребята! Давайте создадим такой уникальный и дикий браузер, которому позавидует даже Chrome! Мы будем использовать Python и PyQt5 для создания этого браузера, поэтому убедитесь, что оба установлены на вашем компьютере. Если нет, вы можете использовать следующую команду для их установки:

pip install pyqt5
pip install PyQtWebEngine

Теперь, когда у нас есть необходимые инструменты, давайте приступим к коду. Полный код этого проекта можно найти в этом репозитории GitHub: https://github.com/Pandeyashish17/browser-using-python. Там доступен не только код, но и все изображения кнопок, которые мы будем использовать в этом проекте.

https://www.youtube.com/watch?v=MKXkv-JhyRY

Мы используем PyQt5 для создания QTabWidget и QMainWindow, которые послужат основой для нашего браузера. Мы также используем PyQtWebEngine для создания QWebEngineView, который будет использоваться для отображения веб-страниц.

Мы создаем набор кнопок с изображениями, такими как «back.svg», «forward.svg», «reload.svg», «home.svg», «add.svg», которые доступны в упомянутом выше репозитории. Эти кнопки будут иметь различные функции, такие как «назад», «вперед», «перезагрузка» и «навигация домой».

Мы также создаем панель поиска, которая использует Google для поиска всего, что вы вводите. Итак, ищете ли вы забавные видеоролики с кошками или исследуете новейшие и лучшие библиотеки Python, наш браузер поможет вам!

Полный код:

import sys
from 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__()

        # create a QTabWidget
        self.tabs = QTabWidget()
        self.setCentralWidget(self.tabs)
        self.showMaximized()

        self.home_url = "https://github.com/Pandeyashish17/browser-using-python"

        # Create a new tab and set it as the current tab
        self.add_new_tab(self.home_url, "Home")

        # create a navigation toolbar
        navbar = QToolBar()
        self.addToolBar(navbar)

        back_btn = QAction(QIcon('back.svg'),'', self)
        back_btn.triggered.connect(self.tabs.currentWidget().back)
        navbar.addAction(back_btn)

        forward_btn = QAction(QIcon('forward.svg'),'', self)
        forward_btn.triggered.connect(self.tabs.currentWidget().forward)
        navbar.addAction(forward_btn)

        reload_btn = QAction(QIcon('reload.svg'),'', self)
        reload_btn.triggered.connect(self.tabs.currentWidget().reload)
        navbar.addAction(reload_btn)

        home_btn = QAction(QIcon('home.svg'),'', self)
        home_btn.triggered.connect(self.navigate_home)
        navbar.addAction(home_btn)

        new_tab_btn = QAction(QIcon('add.svg'),'', self)
        new_tab_btn.triggered.connect(self.add_new_tab)
        navbar.addAction(new_tab_btn)

        # create a search bar
        self.search_bar = QLineEdit()
        self.search_bar.returnPressed.connect(self.search)
        navbar.addWidget(self.search_bar)


    def add_new_tab(self, url=None, title="blank"):
        browser = QWebEngineView()

        # set url if given
        if url:
            browser.setUrl(QUrl(url))

        # create a new tab and set browser as its widget
        tab_index = self.tabs.addTab(browser, title)

        # make the new tab the current tab
        self.tabs.setCurrentIndex(tab_index)

        # update the url bar
        browser.urlChanged.connect(self.update_url)

    def search(self):
        url = self.search_bar.text()
        current_tab = self.tabs.currentWidget()
        current_tab.setUrl(QUrl(f"https://google.com/search?q={url}"))

    def navigate_home(self):
        self.tabs.currentWidget().setUrl(QUrl(self.home_url))

    def update_url(self, q):
        self.search_bar.setText(q.toString())




app = QApplication(sys.argv)
QApplication.setApplicationName('The Silly Surfer ')
window = MainWindow()
app.exec_()

Теперь давайте запустим код и увидим наш дикий и уникальный браузер в действии! Вы можете легко настроить браузер в соответствии с вашими потребностями и создать что-то еще более уникальное и дикое.

И вот оно, народ! Ваш собственный, единственный в своем роде браузер, созданный с использованием PyQt5 и Python. Теперь вы можете стильно просматривать веб-страницы со всеми забавными кнопками и значками, которые сделают ваш просмотр еще более приятным. Удачного кодирования!