Mundo em Python

Sistema de Comissão de Vendas

from tkinter import *
root = Tk()
root.geometry("700x400")
root.resizable(False, False)
root.config(bg="#103030")
root.title("Sistema de Comissão de Vendas")
titulo = Label(
root,
text="Sistema de Comissão de Vendas",
font=("Arial", 28, "bold"),
bg="#103030",
fg="#49e3e3"
)
titulo.place(relx=0.05, rely=0.05)
texto_sub1 = Label(
root,
text="Total de Vendas:",
font=("Arial", 20, "bold"),
bg="#103030",
fg="#49e3e3"
)
texto_sub1.place(relx=0.18, rely=0.3)
Total_Vendas = StringVar() Total_Vendas_entrada = Entry(
root,
textvariable=Total_Vendas,
font=("Arial", 12, "bold"),
bg="white",
fg="blue",
justify='center'
)
Total_Vendas_entrada.place(relx=0.55, rely=0.32, relwidth=0.35)
Total_Vendas_entrada.focus()
def limpar():
Total_Vendas.set("")
resultado_texto.config(text="")
Total_Vendas_entrada.focus()
def calcular_comissao(vendas):
if vendas <= 1000:
return 0.05
elif vendas <= 5000:
return 0.07
elif vendas <= 10000:
return 0.10
else:
return 0.12


def app():
try:
vendas = float(Total_Vendas.get()) if vendas <= 0:
resultado_texto.config(text="Valor inválido! Insira um valor maior que zero.")
return

percentagem = calcular_comissao(vendas)
comissao = vendas * percentagem
total_final = vendas + comissao mensagem = (
f"Total Vendido: {vendas:.2f}\n\n"
f"Percentagem Aplicada: {percentagem * 100:.0f}%\n"
f"Comissão: {comissao:.2f}\n\n"
f"Total com Comissão: {total_final:.2f} €"
) resultado_texto.config(text=mensagem) except ValueError:
resultado_texto.config(text="Por favor, insira valores numéricos válidos!")
but1 = Button(
root,
text="Calcular",
bg='#107db2',
fg='white',
font=('verdana', 12, 'bold'),
command=app
)
but1.place(relx=0.1, rely=0.45, relwidth=0.25, relheight=0.1) but_limpar = Button(
root,
text="Limpar",
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(
root,
text="Sair",
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) # ------------------ Resultado ------------------
resultado_texto = Label(
root,
text="",
font=("Arial", 12, "bold"),
bg="#cfe2f3",
justify="left",
anchor="n",
wraplength=600,
bd=2,
relief="solid"
)
resultado_texto.place(relx=0.05, rely=0.63, relwidth=0.9, relheight=0.35) root.mainloop()
0