from tkinter import *
root = Tk()
root.geometry("600x400")
root.resizable(0, 0)
root.config(bg="#103030")
root.title("Calcular Adesão de uma Greve")
titulo = Label(text="Calcular Adesão de uma Greve",
font=("Arial", "28", "bold"), bg="#103030", fg="#49e3e3")
titulo.place(relx=0.05, rely=0.05)
texto_sub1 = Label(text="Número de aderentes :",
font=("Arial", "15", "bold"), bg="#103030", fg="#49e3e3")
texto_sub1.place(relx=0.05, rely=0.25)
texto_sub2 = Label(text="Número de Total de Trabalhadores :",
font=("Arial", "15", "bold"), bg="#103030", fg="#49e3e3")
texto_sub2.place(relx=0.05, rely=0.4)
Número_aderentes_greves = StringVar()
Número_aderentes_greves_entrada = Entry(textvariable=Número_aderentes_greves,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Número_aderentes_greves_entrada.place(relx=0.6, rely=0.26, relwidth=0.3)
Número_Total_Trabalhadores = StringVar()
Número_Total_Trabalhadores_entrada = Entry(textvariable=Número_Total_Trabalhadores,
font=("Arial", "12", "bold"),
bg="white", fg="blue", justify='center')
Número_Total_Trabalhadores_entrada.place(relx=0.64, rely=0.4, relwidth=0.25)
def limpar():
Número_Total_Trabalhadores_entrada.delete(0, END)
Número_aderentes_greves_entrada.delete(0, END)
resultado_texto.config(text="")
def app():
try:
aderentes = int(Número_aderentes_greves.get())
total = int(Número_Total_Trabalhadores.get())
# Validações extras
if total <= 0:
resultado_texto.config(text="O total de trabalhadores deve ser maior que zero.")
return
if aderentes < 0:
resultado_texto.config(text="O número de aderentes não pode ser negativo.")
return
if aderentes > total:
resultado_texto.config(text="O número de aderentes não pode ser\n maior que o total de trabalhadores.")
return
# Cálculo da porcentagem de adesão
Percentagem_adesão = (aderentes / total) * 100
Percentagem_adesãoarr = round(Percentagem_adesão, 3)
resultado_texto.config(text=f"Adesão à greve: {Percentagem_adesãoarr:.2f}%")
except ValueError:
resultado_texto.config(text="Por favor, insira números válidos.")
but1 = Button(text="Calcular", bd=2, bg='#107db2', fg='white',
font=('verdana', 12, 'bold'), command=app)
but1.place(relx=0.1, rely=0.6, 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.6, 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.6, relwidth=0.25, relheight=0.1)
resultado_texto = Label(text="",
font=("Arial", 12, "bold"), bg="#cfe2f3")
resultado_texto.place(relx=0.05, rely=0.8, relwidth=0.9, relheight=0.15)
root.mainloop()