from tkinter import *
root = Tk()
root.geometry("650x450")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Bandeiras de Praia")
titulo = Label(text="Bandeiras de Praia",
font=("Arial", 28, "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.25, rely=0.05)
texto_sub1 = Label(text="Bandeira:",
font=("Arial", 20, "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.32)
var = StringVar()
dropDownList = ["Vermelha", "Amarela", "Verde", "Xadrez azul e branco", "Listada (vermelho e amarelo)"]
dropdown = OptionMenu(root, var, *dropDownList)
var.set(dropDownList[0])
dropdown.place(relx=0.28, rely=0.32, relwidth=0.7)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 14))
resultado_canvas = Canvas(root, width=580, height=60, bg="#cfe2f3", highlightthickness=0)
resultado_canvas.place(relx=0.05, rely=0.63, relwidth=0.9, relheight=0.15)
resultado_texto = Label(text="", font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.83, relwidth=0.9, relheight=0.15)
def app():
bandeira = var.get().strip()
resultado_canvas.delete("all") # limpa o canvas anterior
if bandeira == "Vermelha":
mensagem = "Perigo! Proibido entrar na água."
resultado_canvas.create_rectangle(0, 0, 600, 60, fill="red", outline="")
elif bandeira == "Amarela":
mensagem = "Cuidado! Condições perigosas para nadar."
resultado_canvas.create_rectangle(0, 0, 600, 60, fill="yellow", outline="")
elif bandeira == "Verde":
mensagem = "Boas condições para banhos e natação."
resultado_canvas.create_rectangle(0, 0, 600, 60, fill="green", outline="")
elif bandeira == "Xadrez azul e branco":
mensagem = "Praia temporariamente sem vigilância."
tamanho_quadro = 20
for i in range(0, 600, tamanho_quadro):
for j in range(0, 60, tamanho_quadro):
cor = "#0073cf" if (i // tamanho_quadro + j // tamanho_quadro) % 2 == 0 else "white"
resultado_canvas.create_rectangle(i, j, i + tamanho_quadro, j + tamanho_quadro, fill=cor, outline="")
else: # Listada (vermelho e amarelo)
mensagem = "Zona recomendada para banhos."
altura_total = 60
metade_altura = altura_total // 2
resultado_canvas.create_rectangle(0, 0, 600, metade_altura, fill="red", outline="")
resultado_canvas.create_rectangle(0, metade_altura, 600, altura_total, fill="yellow", outline="")
resultado_texto.config(text=mensagem)
def limpar():
resultado_texto.config(text="")
resultado_canvas.delete("all")
but1 = Button(text="Mostrar", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.5, 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.5, 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.5, relwidth=0.25, relheight=0.1)
root.mainloop()