Mundo em Python

Cores de Cinto de Capoeira (usando tkinter)

from tkinter import *

root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#FAFAD2")
root.title("Cordéis da Capoeira") titulo = Label(text="Cordéis da Capoeira",
font=("Arial", 28, "bold"), bg="#FAFAD2", fg="black")
titulo.place(relx=0.22, rely=0.03) # Variável de seleção
var = StringVar() # Lista de cordéis (cores mais comuns; pode variar consoante o grupo)
lista_cordeis = [
"Crua",
"Crua-Verde",
"Verde",
"Verde-Amarela",
"Amarela",
"Amarela-Azul",
"Azul",
"Azul-Verde",
"Roxa",
"Roxa-Castanha",
"Castanha",
"Castanha-Vermelha",
"Vermelha",
"Branca"
] # Dicionário com a cor e o significado de cada cordel
cordeis_info = {
"Crua": {
"cor": "beige",
"descricao": "Crua – Representa o início do percurso. Simboliza pureza, humildade e a vontade de aprender. O aluno começa a explorar o mundo da Capoeira."
},
"Crua-Verde": {
"cor": "light green",
"descricao": "Crua-Verde – Transição entre o estado inicial e o primeiro contacto com os fundamentos técnicos e culturais da Capoeira."
},
"Verde": {
"cor": "green",
"descricao": "Verde – Indica que o aluno já domina movimentos básicos e começa a compreender o jogo, a ginga e a malícia da Capoeira."
},
"Verde-Amarela": {
"cor": "yellow green",
"descricao": "Verde-Amarela – Demonstra evolução nas técnicas e maior envolvimento na roda e na parte musical."
},
"Amarela": {
"cor": "yellow",
"descricao": "Amarela – Mostra domínio técnico e maior maturidade. O capoeirista já compreende o ritmo, os toques e a importância do respeito no jogo."
},
"Amarela-Azul": {
"cor": "sky blue",
"descricao": "Amarela-Azul – Etapa intermédia, em que o capoeirista assume mais responsabilidades e começa a orientar os mais novos."
},
"Azul": {
"cor": "blue",
"descricao": "Azul – Cor de compromisso e exemplo. O praticante torna-se uma referência dentro do grupo, demonstrando equilíbrio entre técnica e ética."
},
"Azul-Verde": {
"cor": "medium sea green",
"descricao": "Azul-Verde – Fase de consolidação dos conhecimentos. O capoeirista aprofunda a teoria e a prática, preparando-se para ensinar."
},
"Roxa": {
"cor": "purple",
"descricao": "Roxa – Representa maturidade e solidez no jogo. O praticante demonstra sabedoria, postura e compreensão profunda da Capoeira."
},
"Roxa-Castanha": {
"cor": "sienna",
"descricao": "Roxa-Castanha – Transição para o nível avançado. Expressa dedicação, disciplina e responsabilidade dentro da comunidade capoeirista."
},
"Castanha": {
"cor": "brown",
"descricao": "Castanha – Elevado grau de conhecimento técnico, musical e histórico. O capoeirista assume funções de orientação."
},
"Castanha-Vermelha": {
"cor": "firebrick",
"descricao": "Castanha-Vermelha – Nível muito avançado. Mostra o reconhecimento do grupo pela entrega e contributo do capoeirista."
},
"Vermelha": {
"cor": "red",
"descricao": "Vermelha – Símbolo de liderança e mestria. Esta graduação é atribuída a mestres e mestres-formadores."
},
"Branca": {
"cor": "white",
"descricao": "Branca – Grau máximo em alguns grupos. Representa sabedoria, paz, respeito e legado deixado à Capoeira."
}
} # Etiqueta e canvas para o cordel
Label(text="Cor do Cordel:",
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 as cores do cordel
def mostrar_cordel(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 actualiza a cor e descrição
def app(*args):
selecao = var.get()
info = cordeis_info.get(selecao)
if info:
cor = info["cor"]
if "-" in selecao:
cores = cor.split("-") if "-" in cor else [cor, cor]
mostrar_cordel(*cores)
else:
mostrar_cordel(cor)
descricao_label.config(text=info["descricao"]) # Dropdown
var.trace("w", app)
var.set(lista_cordeis[0]) dropdown = OptionMenu(root, var, *lista_cordeis)
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()
0