Mundo em Python

Ano Novo Chinês

from tkinter import *
root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Ano Novo Chinês") # Título
titulo = Label(
text="Ano Novo Chinês",
font=("Arial", 28, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.28, rely=0.05) var = StringVar() # Função que mostra o texto
def app(v):
if v == "Significado":
mensagem = (
"O Ano Novo Chinês, também chamado de Festival da Primavera,"
" é a celebração mais importante do calendário tradicional chinês."
" Ele não segue o calendário gregoriano, mas sim o calendário lunar-solar,"
" por isso a data muda a cada ano, geralmente caindo entre 21 de janeiro e 20 de fevereiro."
"\n\nO Ano Novo Chinês marca o início de um novo ciclo lunar e é uma ocasião de reunião familiar,"
" renovação, sorte e prosperidade."
"\nTradicionalmente, é um momento para limpar a casa (varrer a má sorte) e"
" fazer oferendas aos ancestrais."
)
elif v == "Duração":
mensagem = (
"O festival dura 15 dias, começando na véspera do Ano Novo e culminando no Festival das Lanternas."
)
elif v == "Datas importantes":
mensagem = (
"Véspera do Ano Novo: Reunião familiar e jantar especial.\n"
"Dia do Ano Novo: Visitas a parentes e amigos, troca de presentes.\n"
"15º dia: Festival das Lanternas, quando lanternas coloridas são acesas e desfiles acontecem."
) elif v == "Símbolos e Tradições":
mensagem = (
"Ano do Zodíaco Chinês: Cada ano é associado a um animal do zodíaco"
" (ex.: rato, boi, tigre) e a um elemento (madeira, fogo, terra, metal, água).\n"
"Envelopes vermelhos (Hongbao): Dinheiro dado como presente para atrair boa sorte.\n"
"Fogos de artifício e lanternas: Para afastar espíritos malignos e celebrar.\n"
"Comidas típicas: Bolinhos (dumplings), peixe, arroz glutinoso, "
"frutas cítricas — todos com significados de prosperidade e sorte."
)
elif v == "Signos":
mensagem = (
"O zodíaco chinês possui 12 animais:\n"
"Rato, Boi, Tigre, Coelho, Dragão, Serpente, Cavalo, Cabra, Macaco, Galo, Cão e Porco.\n"
"Cada ano é representado por um desses animais, influenciando a personalidade e a sorte."
)
elif v == "Elementos":
mensagem = (
"O ciclo do zodíaco também é associado a 5 elementos:\n"
"Madeira, Fogo, Terra, Metal e Água.\n"
"Cada elemento combina com um animal para formar um ciclo de 60 anos,\n"
"influenciando características, sorte e energia de cada ano."
)
else:
mensagem = (
"Ano do Zodíaco Chinês: Cada ano é associado a um animal do zodíaco"
" (ex.: rato, boi, tigre) e a um elemento (madeira, fogo, terra, metal, água).\n"
"Envelopes vermelhos (Hongbao): Dinheiro dado como presente para atrair boa sorte.\n"
"Fogos de artifício e lanternas: Para afastar espíritos malignos e celebrar.\n"
"Comidas típicas: Bolinhos (dumplings), peixe, arroz glutinoso, "
"frutas cítricas — todos com significados de prosperidade e sorte."
) # Limpa o Text e insere o novo conteúdo
resultado_texto.delete(1.0, END)
resultado_texto.insert(END, mensagem) # Dropdown
dropDownList = ["Significado", "Duração", "Símbolos e Tradições", "Datas importantes","Signos","Elementos"]
dropdown = OptionMenu(root, var, *dropDownList, command=app)
var.set(dropDownList[0])
dropdown.place(relx=0.05, rely=0.23, relwidth=0.9)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold")) # Botões
def limpar():
resultado_texto.delete(1.0, END) but1 = Button(
text="Mostrar",
bd=2,
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=lambda: app(var.get())
)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) but_limpar = Button(
text="Limpar",
bd=2,
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=limpar
)
but_limpar.place(relx=0.4, rely=0.45, relwidth=0.25, relheight=0.1) but_sair = Button(
text="Sair",
bd=2,
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=root.destroy
)
but_sair.place(relx=0.7, rely=0.45, relwidth=0.25, relheight=0.1) # Widget Text com scrollbar
scrollbar = Scrollbar(root)
scrollbar.place(relx=0.95, rely=0.65, relheight=0.24, anchor=NE) resultado_texto = Text(
root,
font=("Arial", 12, "bold"),
bg="#cfe2f3",
wrap=WORD,
yscrollcommand=scrollbar.set
)
resultado_texto.place(relx=0.05, rely=0.65, relwidth=0.9, relheight=0.24)
scrollbar.config(command=resultado_texto.yview) root.mainloop()
0