from tkinter import *
# Dicionário com classificação de crédito
rating_credito = {
"AAA": {"classificacao": "Extremamente segura", "texto": "Risco de incumprimento mínimo."},
"A++": {"classificacao": "Extremamente segura", "texto": "Risco de incumprimento mínimo."},
"AA": {"classificacao": "Muito segura", "texto": "Risco muito baixo, ligeiramente inferior ao AAA."},
"A+": {"classificacao": "Muito segura", "texto": "Risco muito baixo, ligeiramente inferior ao AAA."},
"A": {"classificacao": "Segura", "texto": "Risco baixo, pode ser afetada por\n mudanças económicas. Razoavelmente fiável."},
"BBB": {"classificacao": "Moderada", "texto": "Risco médio, pode sofrer impactos de crises.\n Investimento com cuidado."},
"B++": {"classificacao": "Moderada", "texto": "Risco médio, pode sofrer impactos de crises.\n Investimento com cuidado."},
"BB": {"classificacao": "Especulativa", "texto": "Risco elevado, vulnerável a instabilidades. Pode não pagar."},
"B+": {"classificacao": "Especulativa", "texto": "Risco elevado, vulnerável a instabilidades. Pode não pagar."},
"B": {"classificacao": "Altamente especulativa", "texto": "Grande risco de incumprimento. Risco considerável."},
"CCC": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações."},
"CC": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações."},
"C": {"classificacao": "Perigosa", "texto": "Pode não cumprir as obrigações. Quase em incumprimento."},
"D": {"classificacao": "Em incumprimento", "texto": "Não cumpre as obrigações. Default."}
}
# Função para mostrar os dados do rating selecionado
def mostrar(*args):
rat = var.get()
dados = rating_credito[rat]
text_area.delete("1.0", END)
text_area.insert(END, f"Rating: {rat}\n")
text_area.insert(END, f"Classificação: {dados['classificacao']}\n")
text_area.insert(END, f"Informação: {dados['texto']}\n")
# Configuração da janela Tkinter
root = Tk()
root.geometry("700x300")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação de Crédito")
# Título
titulo = Label(root, text="Classificação de Crédito",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.25, rely=0.05)
# Subtítulo
texto_sub1 = Label(root, text="Escolha um Rating:",
font=("Arial", 18, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.15, rely=0.32)
# Variável para o OptionMenu
var = StringVar()
notas = sorted(rating_credito.keys())
var.set(notas[0])
# Dropdown para selecionar a nota
dropdown = OptionMenu(root, var, *notas)
dropdown.place(relx=0.5, rely=0.33, relwidth=0.4)
dropdown.config(background='#09A3BA', foreground="#FFFFFF",
font=("Arial", 15, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF",
font=("Arial", 13))
# Área de texto para mostrar o resultado
text_area = Text(root, height=10, width=70, font=("Arial", 14))
text_area.place(relx=0.05, rely=0.5,relwidth=0.9)
# Atualiza o texto quando a variável muda
var.trace("w", mostrar)
# Mostrar o rating inicial
mostrar()
root.mainloop()