Facebook
From T, 1 Year ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 370
  1. import sys
  2. from PyQt5.QtCore import *
  3. from PyQt5.QtWidgets import *
  4. from PyQt5.QtWebEngineWidgets import *
  5.  
  6. class Browser(QMainWindow):
  7.     def __init__(self):
  8.         super().__init__()
  9.  
  10.         self.browser = QWebEngineView()
  11.         self.browser.setUrl(QUrl("https://www.google.com"))
  12.  
  13.         self.setCentralWidget(self.browser)
  14.         self.showMaximized()
  15.  
  16.         # Barra de navegação
  17.         navbar = QToolBar()
  18.         self.addToolBar(navbar)
  19.  
  20.         # Botão Voltar
  21.         back_btn = QAction("Voltar", self)
  22.         back_btn.setStatusTip("Voltar para a página anterior")
  23.         back_btn.triggered.connect(self.browser.back)
  24.         navbar.addAction(back_btn)
  25.  
  26.         # Botão Avançar
  27.         forward_btn = QAction("Avançar", self)
  28.         forward_btn.setStatusTip("Avançar para a próxima página")
  29.         forward_btn.triggered.connect(self.browser.forward)
  30.         navbar.addAction(forward_btn)
  31.  
  32.         # Botão Recarregar
  33.         reload_btn = QAction("Recarregar", self)
  34.         reload_btn.setStatusTip("Recarregar a página atual")
  35.         reload_btn.triggered.connect(self.browser.reload)
  36.         navbar.addAction(reload_btn)
  37.  
  38.         # Barra de pesquisa
  39.         self.url_bar = QLineEdit()
  40.         self.url_bar.returnPressed.connect(self.navigate_to_url)
  41.         navbar.addWidget(self.url_bar)
  42.  
  43.         # Botão Ir
  44.         go_btn = QAction("Ir", self)
  45.         go_btn.setStatusTip("Ir para a URL digitada")
  46.         go_btn.triggered.connect(self.navigate_to_url)
  47.         navbar.addAction(go_btn)
  48.  
  49.         # Atualizar a barra de endereço quando a página for carregada
  50.         self.browser.urlChanged.connect(self.update_urlbar)
  51.  
  52.     def navigate_to_url(self):
  53.         q = QUrl(self.url_bar.text())
  54.         if q.scheme() == "":
  55.             q.setScheme("http")
  56.        
  57.         self.browser.setUrl(q)
  58.  
  59.     def update_urlbar(self, q):
  60.         self.url_bar.setText(q.toString())
  61.         self.url_bar.setCursorPosition(0)
  62.  
  63. app = QApplication(sys.argv)
  64. QApplication.setApplicationName("Meu Navegador")
  65. window = Browser()
  66. app.exec_()
  67.