Sem resumo de edição
Etiqueta: visualeditor
Linha 24: Linha 24:
       self.s['preco'] = preco
       self.s['preco'] = preco


-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
CREATE
#CREATE
def clickcriar():
def clickcriar():
   def clickadd():
   def clickadd():
Linha 80: Linha 80:
   btnadd = Button(janelacriar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
   btnadd = Button(janelacriar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
   janelacriar.mainloop()
   janelacriar.mainloop()
-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
RECOVER
#RECOVER
def clickpesquisa():
def clickpesquisa():
   if metodo.get() == "Nome":
   if metodo.get() == "Nome":
Linha 104: Linha 104:
       status.place(x = 5, y = 30)
       status.place(x = 5, y = 30)
       status["fg"] = "red"  
       status["fg"] = "red"  
-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------
UPDATE
#UPDATE


def clickeditar(ANCHOR):
def clickeditar(ANCHOR):
Linha 164: Linha 164:
   janelaeditar.mainloop()
   janelaeditar.mainloop()


-----------------------------------------------------------------------------------------------------------------------
#-----------------------------------------------------------------------------------------------------------------------


tabela = Listbox(janela, selectmode = EXTENDED, width = 73)
tabela = Listbox(janela, selectmode = EXTENDED, width = 73)
Linha 171: Linha 171:
btntabela.place(x = 525, y = 5)
btntabela.place(x = 525, y = 5)


CREATE
#CREATE
btncriar = Button(janela, text = "Adicionar novo produto", command = clickcriar).place(x = 355, y = 5)
btncriar = Button(janela, text = "Adicionar novo produto", command = clickcriar).place(x = 355, y = 5)


Linha 178: Linha 178:
carrinho["command"] =partial(clickcarrinho, carrinho)  
carrinho["command"] =partial(clickcarrinho, carrinho)  


RECOVER
#RECOVER
pesquisa =  Entry(janela, width = 13)
pesquisa =  Entry(janela, width = 13)
pesquisa.place(x = 5, y = 10)
pesquisa.place(x = 5, y = 10)
Linha 187: Linha 187:
metodo.set("Nome")
metodo.set("Nome")
metodopesquisa = OptionMenu(janela, metodo, "Nome", "Codigo").place(x = 130, y = 5)
metodopesquisa = OptionMenu(janela, metodo, "Nome", "Codigo").place(x = 130, y = 5)
UPDATE
#UPDATE


btneditar = Button(janela, text = "Editar", command = lambda tabela = tabela: clickeditar(ANCHOR)).place(x = 5, y = 300)
btneditar = Button(janela, text = "Editar", command = lambda tabela = tabela: clickeditar(ANCHOR)).place(x = 5, y = 300)

Edição das 15h14min de 18 de junho de 2017

15/06/2017

<syntaxhighlight lang="python3" line="1"> from tkinter import * from functools import partial

janela = Tk() janela.geometry("600x600") v = []

tabela = Listbox(janela, selectmode = EXTENDED, width = 73) tabela.insert(END, "asdasd") tabela.delete(END, END) def clickcarrinho(botao):

  print(botao["text"])

class Produto(object):

  def __init__(self, name, qtd, preco, marca, codigo):
      self.s = {"nome" : name, "qnt" : qtd, "marca" :  marca, "preco" : preco, "codigo" : codigo}
  def muda(self, name, qtd, forn, preco):
      self.s["nome"] = name
      self.s["qnt"] = qtd
      self.s["fornecedor"] = forn
      self.s['preco'] = preco
  1. -----------------------------------------------------------------------------------------------------------------------
  2. CREATE

def clickcriar():

  def clickadd():
      nome = inname.get()
      quantidade = inqnt.get()
      preco = inpreco.get()
      marca = inmarca.get()
      codigo = incodigo.get()
      
      tabela.insert(END, nome)
      
      arquivo = open("produtos.txt", "a")
      lista = []
      lista.append(nome + " ")
      lista.append(quantidade +" ")
      lista.append(preco + " ")
      lista.append(marca + " ")
      lista.append(codigo)
      
      arquivo.writelines(lista)
      arquivo.write("\n")
      arquivo.close()
      
      v.append(Produto(nome, quantidade, preco, marca, codigo))
      janelacriar.destroy()
      return
  janelacriar = Toplevel()
  janelacriar.geometry("300x200")
  janelacriar.title("Novo produto")
  
  nome = Label(janelacriar, text = "Nome do produto:").place(x = 5, y = 5)
  inname = Entry(janelacriar)
  inname.place(x = 120, y = 5)
  
  qnt = Label(janelacriar, text = "Quantidade:").place(x = 5, y = 30)
  inqnt = Spinbox(janelacriar, from_ = 0, to = 1000)
  inqnt.place(x = 120, y = 30)
  
  preco = Label(janelacriar, text = "Preço:               R$").place(x = 5, y = 55)
  inpreco = Entry(janelacriar)
  inpreco.place(x = 120, y = 55)
  
  marca = Label(janelacriar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
  inmarca = Entry(janelacriar)
  inmarca.place(x = 120, y = 80)
  codigo = Label(janelacriar, text = "Codigo do produto:").place(x = 5, y = 105)
  incodigo = Entry(janelacriar)
  incodigo.place(x = 120, y = 105)


  btnadd = Button(janelacriar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
  janelacriar.mainloop()
  1. -----------------------------------------------------------------------------------------------------------------------
  2. RECOVER

def clickpesquisa():

  if metodo.get() == "Nome":
      m = 0
  else:
      m = 4 
  pesquisar = pesquisa.get()
  arquivo = open("produtos.txt", "r")
  produtos = arquivo.readlines()
  print(type(produtos))
  for i in produtos:
      lista = i.split()
      if lista[m] == pesquisar:
          status["text"] = pesquisar + " encontrado"
          status.place(x = 5, y = 30)
          status["fg"] = "blue" 
          print("encontrado")
          break
      print(lista)
  else:
      status["text"] = pesquisar + " não encontrado"
      status.place(x = 5, y = 30)
      status["fg"] = "red" 
  1. -----------------------------------------------------------------------------------------------------------------------
  2. UPDATE

def clickeditar(ANCHOR):

  def clickadd():
      nome = inname.get()
      quantidade = inqnt.get()
      preco = inpreco.get()
      marca = inmarca.get()
      codigo = incodigo.get()
      
      arquivo = open("produtos.txt", "r")
      produtos = arquivo.readlines()
      arquivo.close()
      
      arquivo = open("produtos.txt", "w")
      
      for i in produtos:
          lista = i.split()
          if lista[0] == pesquisa:
              arquivo.writelines(nome + " " + quantidade + " " + preco + " " + marca+ " " + codigo+ "\n")
          else:
              arquivo.writelines(i)
      janelaeditar.destroy()
     
      
  janelaeditar = Toplevel()
  janelaeditar.geometry("300x200")
  janelaeditar.title("Editar")
  
  nome = Label(janelaeditar, text = "Nome do produto:").place(x = 5, y = 5)
  inname = Entry(janelaeditar)
  inname.place(x = 120, y = 5)
  
  qnt = Label(janelaeditar, text = "Quantidade:").place(x = 5, y = 30)
  inqnt = Spinbox(janelaeditar, from_ = 0, to = 1000)
  inqnt.place(x = 120, y = 30)
  
  preco = Label(janelaeditar, text = "Preço:               R$").place(x = 5, y = 55)
  inpreco = Entry(janelaeditar)
  inpreco.place(x = 120, y = 55)
  
  marca = Label(janelaeditar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
  inmarca = Entry(janelaeditar)
  inmarca.place(x = 120, y = 80)
  codigo = Label(janelaeditar, text = "Codigo do produto:").place(x = 5, y = 105)
  incodigo = Entry(janelaeditar)
  incodigo.place(x = 120, y = 105)
  pesquisa = tabela.get(ANCHOR)
  for i in v:
      if i.s["nome"] == pesquisa:
          inname.insert(END, i.s["nome"])
          inqnt.insert(0, i.s["qnt"])
          inpreco.insert(END, i.s["preco"])
          inmarca.insert(END, i.s["marca"])
          incodigo.insert(END, i.s["codigo"])
  btnadd = Button(janelaeditar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
  janelaeditar.mainloop()
  1. -----------------------------------------------------------------------------------------------------------------------

tabela = Listbox(janela, selectmode = EXTENDED, width = 73) tabela.place(x = 5, y = 50) btntabela = Button(janela, text = "Delete", command = lambda tabela = tabela: tabela.delete(ANCHOR)) btntabela.place(x = 525, y = 5)

  1. CREATE

btncriar = Button(janela, text = "Adicionar novo produto", command = clickcriar).place(x = 355, y = 5)

carrinho = Button(janela, width =20, text = "Meu carrinho") carrinho.place(x = 200, y = 210) carrinho["command"] =partial(clickcarrinho, carrinho)

  1. RECOVER

pesquisa = Entry(janela, width = 13) pesquisa.place(x = 5, y = 10) btpesquisa = Button(janela, width = 10, height = 1, text = "pesquise", command = clickpesquisa) btpesquisa.place(x = 220, y =5) status = Label(janela) metodo = StringVar(janela) metodo.set("Nome") metodopesquisa = OptionMenu(janela, metodo, "Nome", "Codigo").place(x = 130, y = 5)

  1. UPDATE

btneditar = Button(janela, text = "Editar", command = lambda tabela = tabela: clickeditar(ANCHOR)).place(x = 5, y = 300)

janela.mainloop() </syntaxhighlight>16/06/2017<syntaxhighlight lang="python3" line="1"> from tkinter import ttk from tkinter import * from functools import partial

janela = Tk() janela.geometry("600x600") v = []

def clickcarrinho(botao):

   print(botao["text"])

class Produto(object):

   def __init__(self, name, qtd, preco, marca, codigo):
       self.s = {"nome" : name, "qnt" : qtd, "marca" :  marca, "preco" : preco, "codigo" : codigo}
   def muda(self, name, qtd, forn, preco):
       self.s["nome"] = name
       self.s["qnt"] = qtd
       self.s["fornecedor"] = forn
       self.s['preco'] = preco
  1. -----------------------------------------------------------------------------------------------------------------------
  2. CREATE

def clickcriar():

   def clickadd():
       nome = inname.get()
       quantidade = inqnt.get()
       preco = inpreco.get()
       marca = inmarca.get()
       codigo = incodigo.get()
               
       arquivo = open("produtos.txt", "a")
       lista = []
       lista.append(nome + " ")
       lista.append(quantidade +" ")
       lista.append(preco + " ")
       lista.append(marca + " ")
       lista.append(codigo)
       
       arquivo.writelines(lista)
       arquivo.write("\n")
       arquivo.close()
       
       v.append(Produto(nome, quantidade, preco, marca, codigo))
       tabela.insert("",'end',text= "L1",values=(nome, quantidade, preco, marca, codigo))
       janelacriar.destroy()
       return
   janelacriar = Toplevel()
   janelacriar.geometry("300x200")
   janelacriar.title("Novo produto")
   
   nome = Label(janelacriar, text = "Nome do produto:").place(x = 5, y = 5)
   inname = Entry(janelacriar)
   inname.place(x = 120, y = 5)
   
   qnt = Label(janelacriar, text = "Quantidade:").place(x = 5, y = 30)
   inqnt = Spinbox(janelacriar, from_ = 0, to = 1000)
   inqnt.place(x = 120, y = 30)
   
   preco = Label(janelacriar, text = "Preço:               R$").place(x = 5, y = 55)
   inpreco = Entry(janelacriar)
   inpreco.place(x = 120, y = 55)
   
   marca = Label(janelacriar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
   inmarca = Entry(janelacriar)
   inmarca.place(x = 120, y = 80)
   codigo = Label(janelacriar, text = "Codigo do produto:").place(x = 5, y = 105)
   incodigo = Entry(janelacriar)
   incodigo.place(x = 120, y = 105)


   btnadd = Button(janelacriar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
   janelacriar.mainloop()
  1. -----------------------------------------------------------------------------------------------------------------------
  2. RECOVER

def clickpesquisa():

   if metodo.get() == "Nome":
       m = 0
   else:
       m = 4 
   pesquisar = pesquisa.get()
   arquivo = open("produtos.txt", "r")
   produtos = arquivo.readlines()
   for i in produtos:
       lista = i.split()
       if lista[m] == pesquisar:
           status["text"] = pesquisar + " encontrado"
           status.place(x = 5, y = 30)
           status["fg"] = "blue" 
           flag = True
           break
   else:
       flag = False
       status["text"] = pesquisar + " não encontrado"
       status.place(x = 5, y = 30)
       status["fg"] = "red"
   if flag == True:
       tabelaprodutos = tabela.get_children()
       for i in tabelaprodutos:
           x = tabela.item(i, "value")
           if pesquisar == x[m]:
               tabela.selection_set(i)
               break
  1. -----------------------------------------------------------------------------------------------------------------------
  2. UPDATE

def clickeditar(ANCHOR):

   def clickadd():
       nome = inname.get()
       quantidade = inqnt.get()
       preco = inpreco.get()
       marca = inmarca.get()
       codigo = incodigo.get()
       
       arquivo = open("produtos.txt", "r")
       produtos = arquivo.readlines()
       arquivo.close()
       
       arquivo = open("produtos.txt", "w")
       
       for i in produtos:
           lista = i.split()
           if lista[0] == pesquisa:
               arquivo.writelines(nome + " " + quantidade + " " + preco + " " + marca+ " " + codigo+ "\n")
           else:
               arquivo.writelines(i)
               
       x = tabela.selection()[0]
       tabela.delete(x)
       tabela.insert("",'end',text= "L1",values=(nome, quantidade, preco, marca, codigo))
       janelaeditar.destroy()
      
       
   janelaeditar = Toplevel()
   janelaeditar.geometry("300x200")
   janelaeditar.title("Editar")
   
   nome = Label(janelaeditar, text = "Nome do produto:").place(x = 5, y = 5)
   inname = Entry(janelaeditar)
   inname.place(x = 120, y = 5)
   
   qnt = Label(janelaeditar, text = "Quantidade:").place(x = 5, y = 30)
   inqnt = Spinbox(janelaeditar, from_ = 0, to = 1000)
   inqnt.place(x = 120, y = 30)
   
   preco = Label(janelaeditar, text = "Preço:               R$").place(x = 5, y = 55)
   inpreco = Entry(janelaeditar)
   inpreco.place(x = 120, y = 55)
   
   marca = Label(janelaeditar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
   inmarca = Entry(janelaeditar)
   inmarca.place(x = 120, y = 80)
   codigo = Label(janelaeditar, text = "Codigo do produto:").place(x = 5, y = 105)
   incodigo = Entry(janelaeditar)
   incodigo.place(x = 120, y = 105)
   x = tabela.selection()[0]
   y = tabela.item(x, "values")
   pesquisa = y[0]
   for i in v:
       if i.s["nome"] == pesquisa:
           inname.insert(END, i.s["nome"])
           inqnt.insert(0, i.s["qnt"])
           inpreco.insert(END, i.s["preco"])
           inmarca.insert(END, i.s["marca"])
           incodigo.insert(END, i.s["codigo"])
   btnadd = Button(janelaeditar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
   janelaeditar.mainloop()
  1. -----------------------------------------------------------------------------------------------------------------------
  2. DELETE

def delete():

   x = tabela.selection()[0]
   y = tabela.item(x, "values")
   pesquisa = y[0]
   
   arquivo = open("produtos.txt", "r")
   produtos = arquivo.readlines()
   arquivo.close()
   
   arquivo = open("produtos.txt", "w")
   for i in produtos:
           lista = i.split()
           if lista[0] != pesquisa:
               arquivo.writelines(i)
   
   arquivo.close()
   x = tabela.selection()[0]
   tabela.delete(x)
   #-----------------------------------------------------------------------------------------------------------------------

btntabela = Button(janela, text = "Delete", command = delete) btntabela.place(x = 525, y = 5)

tabela = ttk.Treeview(janela, selectmode = 'browse', show = 'headings') tabela.place(x= 5, y = 50) tabela["columns"] = ("1", "2", "3", "4", "5") tabela['show'] = 'headings' tabela.column("1", width=118, anchor='c') tabela.column("2", width=118, anchor='c') tabela.column("3", width=118, anchor='c') tabela.column("4", width=118, anchor='c') tabela.column("5", width=116, anchor='c') tabela.heading("1", text="Nome") tabela.heading("2", text="Quantidade") tabela.heading("3", text="Preço") tabela.heading("4", text="Marca") tabela.heading("5", text="Codigo")

  1. CREATE

btncriar = Button(janela, text = "Adicionar novo produto", command = clickcriar).place(x = 355, y = 5)

  1. RECOVER

pesquisa = Entry(janela, width = 13) pesquisa.place(x = 5, y = 10) btpesquisa = Button(janela, width = 10, height = 1, text = "pesquise", command = clickpesquisa) btpesquisa.place(x = 220, y =5) status = Label(janela) metodo = StringVar(janela) metodo.set("Nome") metodopesquisa = OptionMenu(janela, metodo, "Nome", "Codigo").place(x = 130, y = 5)

  1. UPDATE

btneditar = Button(janela, text = "Editar", command = lambda tabela = tabela: clickeditar(ANCHOR)).place(x = 5, y = 300)

janela.mainloop() </syntaxhighlight>