from tkinter import *
import random
import time
import datetime
from tkinter import Tk, StringVar, ttk
costs = []
global total_do_dia
total_do_dia = []
pags = []
global pedidos
pedidos = []
global oquepediu
oquepediu=[]
letters = ['a', 'b', 'c', 'd', 'e', 'f']
def resetar():
global texto_meio_c
texto_meio_c.pack_forget()
texto_meio_c = Label(meio_cima_cima, font=('courier', 13), text = 'total: $'+ str(sum(costs)))
texto_meio_c.pack()
def remover(doce, x, cost):
pedidos.remove(doce)
costs.remove(int(cost))
global texto_meio_c
texto_meio_c.pack_forget()
texto_meio_c = Label(meio_cima_cima, font=('courier', 13), text = 'total: $'+ str(sum(costs)))
texto_meio_c.pack()
x.pack_forget()
def finalizar():
global nomi
global costs
global direita
total_do_dia.append(sum(costs))
nome = nomi.get()
hist = Label(direita, text=('\n'+nome+':'+' '*(18-len(nome))+'Total: $'+str(sum(costs))), font=('courier', 14))
hist.pack(anchor=NW)
lista2 = []
global pedidos
for i in pedidos:
if i not in lista2:
hist = Label(direita, text=('-',i, pedidos.count(i) ), font=('courier', 14))
hist.pack(anchor=NW)
lista2.append(i)
for i in oquepediu:
i.destroy()
global ao_todo
ao_todo.pack_forget()
global direita_b
ao_todo = Label(direita_b, font=('courier', 13), text = 'total de hoje: $'+ str(sum(total_do_dia)))
ao_todo.pack()
pedidos = []
pags = []
costs = []
resetar()
def soma():
global credi
pago = credi.get()
pags.append(int(pago))
global texto_meio_c
texto_meio_c.pack_forget()
texto_meio_c = Label(meio_cima_cima, font=('courier', 13), text = 'total: $'+ str(sum(costs)))
texto_meio_c.pack()
global cred
cred.pack(side=TOP)
global troco
troco.pack_forget()
troco.pack()
def add_ped(doce, cost):
pedidos.append(doce)
costs.append(int(cost))
global texto_meio_c
texto_meio_c.pack_forget()
global meio_cima_cima
texto_meio_c = Label(meio_cima_cima, font=('courier', 13), text = 'total: $'+ str(sum(costs)))
texto_meio_c.pack(side = TOP)
x = ''.join((random.choice(letters)for i in range(5)))
x = Checkbutton(master=meio_baixo, text=doce, bd=5, relief='raise', command=lambda:remover(doce, x, cost))
x.pack(side=TOP)
oquepediu.append(x)
def menu():
pago = 0
#definitr o titulo e os doces
titulo = 'Venda de doces 9º ano. '+ datetime.datetime.today().strftime(' %d/%m/%Y')
#criar uma tela
tela = Tk ()
tela.geometry('750x600+0+0')
tela.title('Venda De Doces')
#criar um frame no topo
topo = Frame(tela, width = 750, height = 150, bd=9, relief='raise')
topo.pack(side = TOP)
#por o titulo
texto_topo = Label(topo, font=('courier', 30), text=titulo)
texto_topo.pack()
#Criar um frame na esquerda
global esquerda
esquerda = Frame(tela, width = 250, height = 550, bd=8, relief='raise')
esquerda.pack(side = LEFT)
esquerda.pack_propagate(0)
#Criar um frame no meio, embaixo e em cima
meio = Frame(tela, width = 250, height = 550, bd = 8, relief='raise')
meio.pack(side = LEFT)
meio.pack_propagate(0)
global meio_baixo
meio_baixo = Frame(meio, width = 250, height = 270, bd = 2, relief='raise')
meio_baixo.pack(side = BOTTOM)
meio_baixo.pack_propagate(0)
global meio_cima
meio_cima = Frame(meio, width = 250, height =260, bd = 2, relief='raise')
meio_cima.pack(side = TOP)
meio_cima.pack_propagate(0)
global meio_cima_cima
meio_cima_cima = Frame(meio_cima, width = 250, height =150)
meio_cima_cima.pack(side=TOP)
#criar uma pergunta de nome e finalizar
fim = Frame(meio_cima, height = 50, width = 250)
fim.pack(side=BOTTOM)
nom = Label(fim, text = 'Nome:', font=('courier', 16))
nom.pack(side=LEFT)
global nomi
nomi = Entry(fim, width = 10)
nomi.pack(side=LEFT)
final = Button(fim, text= 'finalizar', command = finalizar)
final.pack(side=LEFT)
#Criar um frame na direita e em baixo e o texto do total
global direita
direita = Frame(tela, width = 250, height = 550, bd=8, relief='raise')
direita.pack(side = LEFT)
direita.pack_propagate(0)
global direita_b
direita_b = Frame(direita, width = 250, height = 30)
direita_b.pack(side=BOTTOM)
global ao_todo
ao_todo = Label(direita_b, font=('courier', 13), text = 'total de hoje: $'+ str(sum(costs)))
ao_todo.pack(side = RIGHT)
#adicionar texto para o meio e para a direita
texto_meio = Label(meio_cima_cima, font=('courier', 18), text='Pagamento:')
texto_meio.pack(side= TOP)
texto_meio_b = Label(meio_baixo, font=('courier', 18), text='Pedido:')
texto_meio_b.pack(side= TOP)
texto_direita = Label(direita, font=('courier', 18), text='Vendidos:')
texto_direita.pack(side= TOP)
global texto_meio_c
texto_meio_c = Label(meio_cima_cima, font=('courier', 13), text = 'total: $'+ str(sum(pags)))
texto_meio_c.pack(side = TOP)
global cred
cred = Frame(meio_cima, width=130, height = 60, bd = 3, relief='raise')
cred.pack(side=TOP)
cred.pack_propagate(0)
cre = Label(cred, text = 'pago:', font=('courier', 13))
cre.pack(side=LEFT)
global credi
credi = Entry(cred, width = 3)
credi.pack(side=LEFT)
cr = Button(cred, text=' ', font=('courier', 10), command = soma)
cr.pack(side=LEFT)
global troco
troco = Label(meio_cima, text = ('troco', str(sum(costs)-pago)), font=('courier', 13))
troco.pack()
def addc():
global nome_do_doce
global preco_do_doce
texto = nome_do_doce.get()
textod = texto
preco = preco_do_doce.get()
cost = preco
new_doce= Frame(esquerda, height =30, width = 250, bd= 5, relief='sunken')
new_doce.pack(side=TOP)
novo_doce = Button(new_doce, text=(texto, '$' + str(preco)), width = 250, height = 2, activebackground = 'Gray', command =lambda: add_ped(textod, cost), font =('courier', 20))
novo_doce.pack(side=TOP)
def caixinha():
caixinha = Tk()
caixinha.geometry('300x150')
caixinha.title('Adicionar Doce')
textinho = Label(caixinha, text='Doce:', font=('courier', 14))
textinho.pack(side=TOP)
global nome_do_doce
nome_do_doce = Entry(caixinha, bd = 3, relief='raise')
nome_do_doce.pack(side=TOP)
global preco_do_doce
preco_do_doce = Entry(caixinha, bd = 3, relief='raise')
preco_do_doce.pack(side=BOTTOM)
textinhop = Label(caixinha, text='Preco:', font=('courier', 14))
textinhop.pack(side=BOTTOM)
confirmar = Button(caixinha, text='Adicionar', font=('courier', 16), command= addc)
confirmar.pack(side=TOP)
global adicionar
adicionar = Button(esquerda, bd= 4, font='courier', relief='raise', text= 'adicionar doce', command=caixinha)
adicionar.pack(side=BOTTOM)
tela.mainloop()
menu()