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

Commit 1358eb6

Browse files
authored
Update navegador.py
1 parent 44172c6 commit 1358eb6

File tree

1 file changed

+15
-17
lines changed

1 file changed

+15
-17
lines changed

navegador.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -53,19 +53,17 @@ def __init__(self):
5353
self.url_bar.returnPressed.connect(self.navigate_to_url)
5454
self.toolbar.addWidget(self.url_bar)
5555

56-
# Botão para adicionar nova guia - AGORA USANDO LAMBDA PARA GARANTIR NENHUM ARGUMENTO
56+
# Botão para adicionar nova guia
5757
new_tab_btn = QAction("➕ Nova Guia", self)
5858
new_tab_btn.setStatusTip("Abrir uma nova guia")
59-
new_tab_btn.triggered.connect(lambda: self.add_new_tab()) # <--- AQUI ESTÁ A MUDANÇA PRINCIPAL
59+
new_tab_btn.triggered.connect(lambda: self.add_new_tab())
6060
self.toolbar.addAction(new_tab_btn)
6161

6262

63-
self.add_new_tab(QUrl("https://www.google.com"), "Página Inicial") # Adiciona a primeira guia
64-
# Após adicionar a primeira aba, garantimos que os botões sejam atualizados
63+
self.add_new_tab(QUrl("https://www.google.com"), "Página Inicial")
6564
self.update_buttons_state()
6665

6766

68-
# Ocultar a barra de status por enquanto (pode ser adicionada depois se necessário)
6967
self.statusBar().hide()
7068

7169
def current_browser(self):
@@ -76,30 +74,26 @@ def current_browser(self):
7674

7775
def add_new_tab(self, qurl=None, label="Nova Guia"):
7876
"""Adiciona uma nova guia ao navegador."""
79-
# Se qurl é None, ele significa que a chamada veio sem argumento (e deve usar o padrão)
80-
# Se vier um bool (True/False), isso é um sinal indesejado, então redefinimos para o padrão
8177
if qurl is None or isinstance(qurl, bool):
82-
qurl = QUrl("https://www.google.com") # Padrão para nova aba
78+
qurl = QUrl("https://www.google.com")
8379

8480
browser = BrowserTab()
85-
browser.setUrl(qurl) # Agora qurl será sempre um QUrl
81+
browser.setUrl(qurl)
8682

8783
i = self.tabs.addTab(browser, label)
8884
self.tabs.setCurrentIndex(i)
8985

90-
# Atualiza a URL na barra quando a página muda
9186
browser.urlChanged.connect(lambda qurl_obj, browser=browser: self.update_urlbar(qurl_obj, browser))
92-
browser.loadStarted.connect(lambda: self.update_buttons_state()) # Atualiza estado dos botões
93-
browser.loadFinished.connect(lambda success: self.update_buttons_state()) # Atualiza estado dos botões
87+
browser.loadStarted.connect(lambda: self.update_buttons_state())
88+
browser.loadFinished.connect(lambda success: self.update_buttons_state())
9489

95-
# Conectar o título da guia para ser o título da página
9690
browser.titleChanged.connect(lambda title, browser=browser: self.tabs.setTabText(self.tabs.indexOf(browser), title))
9791

9892

9993
def tab_open_doubleclick(self, index):
10094
"""Abre uma nova guia ao dar clique duplo na barra de abas."""
101-
if index == -1: # Clicou em uma área vazia
102-
self.add_new_tab() # Chama sem argumentos explícitos
95+
if index == -1:
96+
self.add_new_tab()
10397

10498
def current_tab_changed(self, index):
10599
"""Atualiza a barra de URL quando a guia ativa muda."""
@@ -129,8 +123,12 @@ def navigate_to_url(self):
129123
if "." in url and not " " in url:
130124
url = "https://" + url
131125
else:
132-
search_query = QUrl.toPercentEncoding(url)
133-
url = f"https://www.google.com/search?q={search_query}"
126+
# --- AQUI ESTÁ A CORREÇÃO ---
127+
# Codifica o termo de busca para bytes e depois o decodifica para string normal antes de usar
128+
search_query_bytes = QUrl.toPercentEncoding(url)
129+
search_query_str = search_query_bytes.data().decode('utf-8') # Converte QByteArray para string UTF-8
130+
url = f"https://www.google.com/search?q={search_query_str}"
131+
# ----------------------------
134132

135133
browser.setUrl(QUrl(url))
136134
self.update_buttons_state()

0 commit comments

Comments
 (0)