from tkinter import *
root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#FAFAD2")
root.title("Cintos de Karaté")
titulo = Label(text="Cintos de Karaté",
font=("Arial", 28, "bold"), bg="#FAFAD2", fg="black")
titulo.place(relx=0.28, rely=0.03)
var = StringVar()
lista_cintos = [
"Branco",
"Amarelo Claro",
"Amarelo",
"Laranja",
"Verde",
"Azul",
"Roxo",
"Castanho Claro",
"Castanho Médio",
"Castanho Escuro",
"Preto"
]
cintos_info = {
"Branco": {
"cor": "white",
"descricao": "Branco – Simboliza pureza, o início da jornada e uma mente aberta para aprender."
},
"Amarelo Claro": {
"cor": "light yellow",
"descricao": "Amarelo Claro – Representa os primeiros raios de luz do conhecimento técnico."
},
"Amarelo": {
"cor": "yellow",
"descricao": "Amarelo – Indica progresso inicial. O aluno já reconhece posturas e golpes básicos."
},
"Laranja": {
"cor": "orange",
"descricao": "Laranja – Mostra que o praticante está a ganhar confiança e foco nas técnicas."
},
"Verde": {
"cor": "green",
"descricao": "Verde – Simboliza crescimento. O aluno desenvolve fluidez e começa a entender o combate."
},
"Azul": {
"cor": "blue",
"descricao": "Azul – Representa estabilidade. O praticante já tem boa base e coordenação."
},
"Roxo": {
"cor": "purple",
"descricao": "Roxo – Indica maturidade técnica. O aluno refina as suas habilidades e foco mental."
},
"Castanho Claro": {
"cor": "#a0522d",
"descricao": "Castanho Claro – Transição para nível avançado. Mostra domínio e disciplina."
},
"Castanho Médio": {
"cor": "#8b4513",
"descricao": "Castanho Médio – O aluno prepara-se para o exame de cinto preta com dedicação intensa."
},
"Castanho Escuro": {
"cor": "#5c3317",
"descricao": "Castanho Escuro – Última fase antes da cinto preta. O praticante demonstra autocontrole e liderança."
},
"Preto": {
"cor": "black",
"descricao": "Preto – Símbolo de maestria técnica, ética e filosofia. Marca o início de um novo ciclo."
}
}
Label(text="Cor do Cinto:",
font=("Arial", 18, "bold"), bg="#FAFAD2", fg="black").place(relx=0.05, rely=0.55)
canvas = Canvas(root, width=300, height=40, bg="#FAFAD2", highlightthickness=0)
canvas.place(relx=0.4, rely=0.55)
# Área de descrição
descricao_label = Label(text="", font=("Arial", 13), bg="#FAFAD2", fg="black",
wraplength=650, justify=LEFT)
descricao_label.place(relx=0.05, rely=0.75)
# Função para mostrar a cor do cinto
def mostrar_cinto(cor1, cor2=None):
canvas.delete("all")
largura = 300
altura = 40
if cor2:
canvas.create_rectangle(0, 0, largura//2, altura, fill=cor1, outline="")
canvas.create_rectangle(largura//2, 0, largura, altura, fill=cor2, outline="")
else:
canvas.create_rectangle(0, 0, largura, altura, fill=cor1, outline="")
# Função principal que atualiza a cor e descrição
def app(*args):
selecao = var.get()
info = cintos_info.get(selecao)
if info:
cor = info["cor"]
if "-" in cor:
cores = cor.split("-")
mostrar_cinto(*cores)
else:
mostrar_cinto(cor)
descricao_label.config(text=info["descricao"])
# Dropdown
var.trace("w", app)
var.set(lista_cintos[0])
dropdown = OptionMenu(root, var, *lista_cintos)
dropdown.place(relx=0.13, rely=0.34, relwidth=0.7)
dropdown.config(background='#4682B4', foreground="#F5F5DC", font=("Arial", 18, "bold"))
dropdown["menu"].config(background="#4682B4", foreground="#F5F5DC", font=("Arial", 18, "bold"))
app()
root.mainloop()