Mundo em Python

Cartão de Natal (usando tkinter)

from tkinter import *
import itertools root = Tk()
root.geometry("400x400")
root.resizable(0, 0)
root.config(bg="#103030") # Fundo inicial
root.title("Cartão de Natal") # Definir as cores para o efeito de luzes piscantes
cores_luzes = ["#FF0000", "#FFD700", "#00FF00", "#00BFFF"] # Vermelho, dourado, verde, azul
iterador_cores = itertools.cycle(cores_luzes) # Alternância cíclica de cores

# Título do cartão
titulo = Label(text="Cartão de Natal",
font=("Arial", "28", "bold"), bg="#103030", fg="#FFFFFF")
titulo.place(relx=0.13, rely=0.05) # Criação das luzes decorativas
luzes1 = Label(text="", bg="white", fg="#FFFFFF")
luzes1.place(relx=0.13, rely=0.25, relwidth=0.1, relheight=0.1) luzes2 = Label(text="", bg="white", fg="#FFFFFF")
luzes2.place(relx=0.3, rely=0.25, relwidth=0.1, relheight=0.1) luzes3 = Label(text="", bg="white", fg="#FFFFFF")
luzes3.place(relx=0.5, rely=0.25, relwidth=0.1, relheight=0.1) luzes4 = Label(text="", bg="white", fg="#FFFFFF")
luzes4.place(relx=0.7, rely=0.25, relwidth=0.1, relheight=0.1) # Função para criar o efeito de luzes piscantes no título
def animar_titulo():
proxima_cor = next(iterador_cores) # Pega a próxima cor do ciclo
titulo.config(fg=proxima_cor)
root.after(500, animar_titulo) # Chama novamente após 500ms

# Função para criar o efeito de luzes piscantes decorativas
def luzes():
proxima_cor = next(iterador_cores) # Pega a próxima cor do ciclo
luzes1.config(bg=proxima_cor)
luzes2.config(bg=proxima_cor)
luzes3.config(bg=proxima_cor)
luzes4.config(bg=proxima_cor)
root.after(500, luzes) # Chama novamente após 500ms

# Função para mostrar o cartão de Natal
def cartao_de_natal():
mensagem = """
**************************************
* *
* Feliz Natal! *
* *
* Que sua vida seja cheia de *
* paz, amor e alegria neste Natal! *
* *
**************************************
"""
texto_sub1.config(text=mensagem) # Texto do cartão
texto_sub1 = Label(text="",
font=("Courier", 10), # Fonte monoespaçada para alinhamento
bg="#103030", fg="#49e3e3", justify="center")
texto_sub1.place(relx=0.05, rely=0.3, relwidth=0.9, relheight=0.5) # Botão para mostrar o cartão
botao = Button(root, text="Mostrar Cartão", command=cartao_de_natal,
font=("Arial", 14), bg="#FFD700", fg="#103030",
activebackground="#FF0000", activeforeground="#FFFFFF")
botao.place(relx=0.3, rely=0.8) # Iniciar as animações
animar_titulo()
luzes() root.mainloop()
0