from tkinter import *
from tkinter import ttk
# Dados originais
dados_gols = {
"Português do Brasil": [
"Gol", "Chute", "Bola na trave", "Drible", "Caneta", "Chapeuzinho / Lob",
"Goleiro", "Zagueiro", "Lateral", "Volante",
"Meia / Armador", "Atacante / Centroavante", "Ponta"
],
"Português de Portugal": [
"Golo", "Remate / Pontapé", "Bola na barra", "Finta",
"Drible entre as pernas", "Chapéu", "Guarda-redes",
"Defesa central", "Lateral", "Médio defensivo / Trinco",
"Médio ofensivo / Médio centro", "Avançado", "Extremo"
],
}
# ---------- ORDENAR ALFABETICAMENTE SEM PERDER O PAREAMENTO -----------
pares_ordenados = sorted(
zip(dados_gols["Português do Brasil"], dados_gols["Português de Portugal"]),
key=lambda x: x[0] # ordenar pela palavra em Português do Brasil
)
dicionario_Br = [br for br, pt in pares_ordenados]
dicionario_PT = [pt for br, pt in pares_ordenados]
# ----------------------------------------------------------------------
class AppConverter:
def __init__(self):
self.root = Tk()
self.janela()
self.frames_da_janela()
self.widgets_frame1()
self.menus()
self.root.mainloop()
def janela(self):
self.root.title("Dicionário de Termos de Futebol BR ↔ PT")
self.root.configure(background='#1e3743')
self.root.geometry("500x300")
self.root.resizable(False, False)
def frames_da_janela(self):
self.frame_1 = Frame(
self.root, bd=4, bg='#dfe3ee',
highlightbackground='#759fe6', highlightthickness=2
)
self.frame_1.place(relx=0.02, rely=0.02, relwidth=0.96, relheight=0.96)
def widgets_frame1(self):
self.abas = ttk.Notebook(self.frame_1)
self.tab_br_pt = Frame(self.abas, background="#dfe3ee")
self.tab_pt_br = Frame(self.abas, background="#dfe3ee")
self.abas.add(self.tab_br_pt, text="BR → PT")
self.abas.add(self.tab_pt_br, text="PT → BR")
self.abas.place(relx=0, rely=0, relwidth=0.98, relheight=0.98)
# -------------------- BR → PT -------------------------
Label(self.tab_br_pt, text="Termo (BR):", bg="#dfe3ee",
font=("Arial", 12, "bold")).place(relx=0.05, rely=0.1)
self.var_br = StringVar()
self.var_br.set(dicionario_Br[0])
OptionMenu(self.tab_br_pt, self.var_br, *dicionario_Br).place(relx=0.35, rely=0.1)
Button(self.tab_br_pt, text="Converter", command=self.converter_br_pt).place(
relx=0.35, rely=0.3
)
self.out_br = Label(self.tab_br_pt, text="", bg="#dfe3ee",
font=("Arial", 12, "bold"))
self.out_br.place(relx=0.05, rely=0.5)
# -------------------- PT → BR -------------------------
Label(self.tab_pt_br, text="Termo (PT):", bg="#dfe3ee",
font=("Arial", 12, "bold")).place(relx=0.05, rely=0.1)
self.var_pt = StringVar()
self.var_pt.set(dicionario_PT[0])
OptionMenu(self.tab_pt_br, self.var_pt, *dicionario_PT).place(relx=0.35, rely=0.1)
Button(self.tab_pt_br, text="Converter", command=self.converter_pt_br).place(
relx=0.35, rely=0.3
)
self.out_pt = Label(self.tab_pt_br, text="", bg="#dfe3ee",
font=("Arial", 12, "bold"))
self.out_pt.place(relx=0.05, rely=0.5)
def converter_br_pt(self):
termo = self.var_br.get()
idx = dicionario_Br.index(termo)
self.out_br.config(text=f"PT: {dicionario_PT[idx]}")
def converter_pt_br(self):
termo = self.var_pt.get()
idx = dicionario_PT.index(termo)
self.out_pt.config(text=f"BR: {dicionario_Br[idx]}")
def quit(self):
self.root.destroy()
def menus(self):
menubar = Menu(self.root)
self.root.config(menu=menubar)
filemenu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="Opções", menu=filemenu)
filemenu.add_command(label="Sair", command=self.quit)
AppConverter()