Skip to content
This repository was archived by the owner on Sep 19, 2025. It is now read-only.

Commit d35276e

Browse files
author
Pedro
committed
commit
1 parent 49cec61 commit d35276e

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

navegador.py

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
import sys
2-
from PyQt5.QtCore import *
3-
from PyQt5.QtWidgets import *
4-
from PyQt5.QtWebEngineWidgets import *
2+
from PyQt6.QtCore import QUrl, Qt # Alterado para PyQt6
3+
from PyQt6.QtWidgets import QApplication, QMainWindow, QToolBar, QLineEdit, QAction, QTabWidget, QProgressBar # Alterado para PyQt6
4+
from PyQt6.QtWebEngineWidgets import QWebEngineView # Alterado para PyQt6
5+
56

67
class BrowserTab(QWebEngineView):
78
def __init__(self, parent=None):
@@ -19,6 +20,12 @@ def __init__(self):
1920
self.toolbar = QToolBar("Navegação")
2021
self.addToolBar(self.toolbar)
2122

23+
# Barra de progresso - INCLUSÃO DO PROGRESS BAR
24+
self.progress_bar = QProgressBar()
25+
self.progress_bar.setMaximumWidth(150)
26+
self.progress_bar.setVisible(False)
27+
self.toolbar.addWidget(self.progress_bar)
28+
2229
# --- Suporte a Guias ---
2330
self.tabs = QTabWidget() # Primeiro, inicialize o QTabWidget
2431
self.tabs.setDocumentMode(True) # Modo de documento (aparência mais moderna)
@@ -52,12 +59,6 @@ def __init__(self):
5259
self.url_bar.returnPressed.connect(self.navigate_to_url)
5360
self.toolbar.addWidget(self.url_bar)
5461

55-
# Adiciona a barra de progresso aqui
56-
self.progress_bar = QProgressBar()
57-
self.progress_bar.setMaximumWidth(150) # Opcional: Define uma largura máxima
58-
self.progress_bar.setVisible(False) # Começa invisível
59-
self.toolbar.addWidget(self.progress_bar)
60-
6162
# Botão para adicionar nova guia
6263
new_tab_btn = QAction("➕ Nova Guia", self)
6364
new_tab_btn.setStatusTip("Abrir uma nova guia")
@@ -86,12 +87,10 @@ def add_new_tab(self, qurl=None, label="Nova Guia"):
8687
i = self.tabs.addTab(browser, label)
8788
self.tabs.setCurrentIndex(i)
8889

89-
# Conecta o sinal loadProgress DO OBJETO browser criado AGORA
90-
browser.loadProgress.connect(self.update_progress_bar)
91-
9290
browser.urlChanged.connect(lambda qurl_obj, browser=browser: self.update_urlbar(qurl_obj, browser))
9391
browser.loadStarted.connect(lambda: self.update_buttons_state())
9492
browser.loadFinished.connect(lambda success: self.update_buttons_state())
93+
browser.loadProgress.connect(self.update_progress_bar) # Conecta o sinal de progresso
9594

9695
browser.titleChanged.connect(lambda title, browser=browser: self.tabs.setTabText(self.tabs.indexOf(browser), title))
9796

@@ -128,12 +127,9 @@ def navigate_to_url(self):
128127
if "." in url and not " " in url:
129128
url = "https://" + url
130129
else:
131-
# --- AQUI ESTÁ A CORREÇÃO ---
132-
# Codifica o termo de busca para bytes e depois o decodifica para string normal antes de usar
133130
search_query_bytes = QUrl.toPercentEncoding(url)
134-
search_query_str = search_query_bytes.data().decode('utf-8') # Converte QByteArray para string UTF-8
131+
search_query_str = search_query_bytes.data().decode('utf-8')
135132
url = f"https://www.google.com/search?q={search_query_str}"
136-
# ----------------------------
137133

138134
browser.setUrl(QUrl(url))
139135
self.update_buttons_state()
@@ -157,7 +153,7 @@ def update_buttons_state(self):
157153

158154
for action in self.toolbar.actions():
159155
if action.text() == "⬅️ Voltar":
160-
# Modificado para desabilitar "Voltar" apenas se não houver histórico REAL, não só se for Google.
156+
# A condição foi simplificada para apenas 'can_go_back', pois o browser.url() != Google.com é muito restritivo para o botão Voltar
161157
action.setEnabled(browser is not None and can_go_back)
162158
elif action.text() == "➡️ Avançar":
163159
action.setEnabled(browser is not None and can_go_forward)

0 commit comments

Comments
 (0)