from tkinter import * chuva_classificacao = [
{
"Classificação": "Chuva fraca",
"Taxa de precipitação (mm/h)": "< 2,5",
"Descrição": "Pingos leves, pouca redução de visibilidade."
},
{
"Classificação": "Chuva moderada",
"Taxa de precipitação (mm/h)": "2,5 a 10",
"Descrição": "Chuva contínua, molha rapidamente o solo."
},
{
"Classificação": "Chuva forte",
"Taxa de precipitação (mm/h)": "10 a 50",
"Descrição": "Intensa, pode causar alagamentos pontuais."
},
{
"Classificação": "Chuva muito forte",
"Taxa de precipitação (mm/h)": "> 50",
"Descrição": "Grande volume em pouco tempo, risco alto\nde enxurradas."
}
] root = Tk()
root.geometry("700x500")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação da intensidade da chuva") # Título
titulo = Label(
text="Classificação da intensidade da chuva",
font=("Arial", 27, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.05, rely=0.05) # Subtítulo
texto_sub1 = Label(
text="Escolha a opção:",
font=("Arial", 20, "bold"),
bg="#103030",
fg="#49e3e3"
)
texto_sub1.place(relx=0.05, rely=0.32) # Dropdown
var = StringVar()
dropDownList = ["Chuva fraca", "Chuva moderada", "Chuva forte", "Chuva muito forte"]
var.set(dropDownList[0]) dropdown = OptionMenu(root, var, *dropDownList)
dropdown.place(relx=0.4, rely=0.32, relwidth=0.55)
dropdown.config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold"))
dropdown["menu"].config(background='#09A3BA', foreground="#FFFFFF", font=("Arial", 20, "bold")) # Limpar resultado
def limpar():
resultado_texto.config(text="") # Mostrar resultado
def app():
escolha = var.get() for item in chuva_classificacao:
if item["Classificação"].lower() == escolha.lower():
texto = (
f"Classificação: {item['Classificação']}\n"
f"Taxa: {item['Taxa de precipitação (mm/h)']}\n"
f"Descrição: {item['Descrição']}"
)
resultado_texto.config(text=texto)
return
resultado_texto.config(text="Erro: Classificação não encontrada.") # Botões
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) resultado_texto = Label(
text="",
font=("Arial", 14, "bold"),
bg="#cfe2f3",
justify="left",
anchor="nw"
)
resultado_texto.place(relx=0.05, rely=0.7, relwidth=0.9, relheight=0.22) root.mainloop()
#Outra Versão
from tkinter import * root = Tk()
root.geometry("700x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Classificação da intensidade da chuva") # Título
titulo = Label(
text="Classificação da intensidade da chuva",
font=("Arial", 25, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.08, rely=0.05) # Subtítulo
texto_sub1 = Label(
text="Intensidade da chuva (mm/h):",
font=("Arial", 18, "bold"),
bg="#103030",
fg="#49e3e3"
)
texto_sub1.place(relx=0.05, rely=0.32) # Entrada
Intensidade_chuva = StringVar()
Intensidade_chuva_entrada = Entry(
textvariable=Intensidade_chuva,
font=("Arial", 12, "bold"),
bg="white",
fg="blue",
justify='center'
)
Intensidade_chuva_entrada.place(relx=0.57, rely=0.33, relwidth=0.37) # Função limpar
def limpar():
Intensidade_chuva_entrada.delete(0, END)
resultado_texto.config(text="") # Função principal
def app():
try:
mm_h = float(Intensidade_chuva.get()) if mm_h < 2.5:
mensagem = (
"Classificação: Chuva fraca\n"
"Descrição: Pingos leves, pouca redução de visibilidade."
) elif 2.5 <= mm_h <= 10:
mensagem = (
"Classificação: Chuva moderada\n"
"Descrição: Chuva contínua, molha rapidamente o solo."
) elif 10 < mm_h <= 50:
mensagem = (
"Classificação: Chuva forte\n"
"Descrição: Intensa, pode causar alagamentos pontuais."
) else:
mensagem = (
"Classificação: Chuva muito forte\n"
"Descrição: Grande volume em pouco tempo, risco alto de enxurradas."
) resultado_texto.config(text=mensagem) except ValueError:
resultado_texto.config(text="Por favor, insira valores numéricos válidos.") # Botões
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) # Resultado
resultado_texto = Label(
text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3",
justify="left",
anchor="nw"
)
resultado_texto.place(relx=0.05, rely=0.7, relwidth=0.9, relheight=0.25) root.mainloop()