from tkinter import *
root = Tk()
root.geometry("700x350")
root.resizable(0, 0)
root.config(bg="#FAFAD2")
root.title("Cintos de Taekwondo")
titulo = Label(text="Cintos de Taekwondo",
font=("Arial", 28, "bold"), bg="#FAFAD2", fg="black")
titulo.place(relx=0.24, rely=0.03)
# Variável de seleção
var = StringVar()
# Lista de cintos
dropDownList = [
"Branco",
"Amarelo",
"Verde",
"Azul",
"Vermelho",
"Preto",
]
# Dicionário de cores e descrições enriquecidas
cintos_info = {
"Branco": {
"cor": "white",
"descricao": "Branco – Simboliza a inocência, a pureza e o início do caminho. O praticante ainda está por aprender, como uma folha em branco. Representa também humildade e mente aberta."
},
"Amarelo": {
"cor": "yellow",
"descricao": "Amarelo – Representa a terra fértil onde a semente (o aluno) começa a germinar. É o início do crescimento técnico. Marca os alicerces do conhecimento, onde os fundamentos são semeados."
},
"Verde": {
"cor": "green",
"descricao": "Verde – Simboliza o crescimento da planta, tal como o desenvolvimento das competências físicas e mentais. O aluno começa a ganhar confiança, estrutura e rigor nas suas técnicas."
},
"Azul": {
"cor": "blue",
"descricao": "Azul – Representa o céu, para onde a planta cresce. O aluno começa a elevar o seu espírito, a disciplina e a compreensão, atingindo um novo patamar técnico e mental."
},
"Vermelho": {
"cor": "red",
"descricao": "Vermelho – Um sinal de alerta e perigo. O praticante já possui um nível elevado de técnica e força, mas deve demonstrar autocontrolo, respeito e responsabilidade para não causar danos."
},
"Preto": {
"cor": "black",
"descricao": "Preto – Representa a maturidade, a mestria e o domínio da arte. Contrasta com o branco, simbolizando o fim de um ciclo e o início de uma nova etapa como praticante avançado ou instrutor."
}
}
# Etiqueta e canvas para o cinto
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 para mostrar a 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 desenhar o 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 responde à seleção
def app(*args):
selecao = var.get()
info = cintos_info.get(selecao)
if info:
mostrar_cinto(info["cor"])
descricao_label.config(text=info["descricao"])
# Dropdown
var.trace("w", app)
var.set(dropDownList[0])
dropdown = OptionMenu(root, var, *dropDownList)
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"))
# Inicializar
app()
root.mainloop()