Criou página com 'from tkinter import * from functools import partial janela = Tk() janela.geometry("600x600") v = [] tabela = Listbox(janela, selectmode = EXTENDED, width = 73) tabela.insert...'
 
mSem resumo de edição
Etiqueta: visualeditor
Linha 1: Linha 1:
15/06/2017:<syntaxhighlight lang="python3" line="1">
from tkinter import *
from tkinter import *
from functools import partial
from functools import partial
Linha 10: Linha 11:
tabela.delete(END, END)
tabela.delete(END, END)
def clickcarrinho(botao):
def clickcarrinho(botao):
    print(botao["text"])
  print(botao["text"])


class Produto(object):
class Produto(object):
    def __init__(self, name, qtd, preco, marca, codigo):
  def __init__(self, name, qtd, preco, marca, codigo):
        self.s = {"nome" : name, "qnt" : qtd, "marca" :  marca, "preco" : preco, "codigo" : codigo}
      self.s = {"nome" : name, "qnt" : qtd, "marca" :  marca, "preco" : preco, "codigo" : codigo}
    def muda(self, name, qtd, forn, preco):
  def muda(self, name, qtd, forn, preco):
        self.s["nome"] = name
      self.s["nome"] = name
        self.s["qnt"] = qtd
      self.s["qnt"] = qtd
        self.s["fornecedor"] = forn
      self.s["fornecedor"] = forn
        self.s['preco'] = preco
      self.s['preco'] = preco


#-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
#CREATE
CREATE
def clickcriar():
def clickcriar():
    def clickadd():
  def clickadd():
        nome = inname.get()
      nome = inname.get()
        quantidade = inqnt.get()
      quantidade = inqnt.get()
        preco = inpreco.get()
      preco = inpreco.get()
        marca = inmarca.get()
      marca = inmarca.get()
        codigo = incodigo.get()
      codigo = incodigo.get()
       
     
        tabela.insert(END, nome)
      tabela.insert(END, nome)
       
     
        arquivo = open("produtos.txt", "a")
      arquivo = open("produtos.txt", "a")


        lista = []
      lista = []
        lista.append(nome + " ")
      lista.append(nome + " ")
        lista.append(quantidade +" ")
      lista.append(quantidade +" ")
        lista.append(preco + " ")
      lista.append(preco + " ")
        lista.append(marca + " ")
      lista.append(marca + " ")
        lista.append(codigo)
      lista.append(codigo)
       
     
        arquivo.writelines(lista)
      arquivo.writelines(lista)
        arquivo.write("\n")
      arquivo.write("\n")
        arquivo.close()
      arquivo.close()
       
     
        v.append(Produto(nome, quantidade, preco, marca, codigo))
      v.append(Produto(nome, quantidade, preco, marca, codigo))
        janelacriar.destroy()
      janelacriar.destroy()
        return
      return


    janelacriar = Toplevel()
  janelacriar = Toplevel()
    janelacriar.geometry("300x200")
  janelacriar.geometry("300x200")
    janelacriar.title("Novo produto")
  janelacriar.title("Novo produto")
   
 
    nome = Label(janelacriar, text = "Nome do produto:").place(x = 5, y = 5)
  nome = Label(janelacriar, text = "Nome do produto:").place(x = 5, y = 5)
    inname = Entry(janelacriar)
  inname = Entry(janelacriar)
    inname.place(x = 120, y = 5)
  inname.place(x = 120, y = 5)
   
 
    qnt = Label(janelacriar, text = "Quantidade:").place(x = 5, y = 30)
  qnt = Label(janelacriar, text = "Quantidade:").place(x = 5, y = 30)
    inqnt = Spinbox(janelacriar, from_ = 0, to = 1000)
  inqnt = Spinbox(janelacriar, from_ = 0, to = 1000)
    inqnt.place(x = 120, y = 30)
  inqnt.place(x = 120, y = 30)
   
 
    preco = Label(janelacriar, text = "Preço:              R$").place(x = 5, y = 55)
  preco = Label(janelacriar, text = "Preço:              R$").place(x = 5, y = 55)
    inpreco = Entry(janelacriar)
  inpreco = Entry(janelacriar)
    inpreco.place(x = 120, y = 55)
  inpreco.place(x = 120, y = 55)
   
 
    marca = Label(janelacriar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
  marca = Label(janelacriar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
    inmarca = Entry(janelacriar)
  inmarca = Entry(janelacriar)
    inmarca.place(x = 120, y = 80)
  inmarca.place(x = 120, y = 80)


    codigo = Label(janelacriar, text = "Codigo do produto:").place(x = 5, y = 105)
  codigo = Label(janelacriar, text = "Codigo do produto:").place(x = 5, y = 105)
    incodigo = Entry(janelacriar)
  incodigo = Entry(janelacriar)
    incodigo.place(x = 120, y = 105)
  incodigo.place(x = 120, y = 105)




    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()
#-----------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------
#RECOUVER
RECOUVER
def clickpesquisa():
def clickpesquisa():
    if metodo.get() == "Nome":
  if metodo.get() == "Nome":
        m = 0
      m = 0
    else:
  else:
        m = 4  
      m = 4  
    pesquisar = pesquisa.get()
  pesquisar = pesquisa.get()
    arquivo = open("produtos.txt", "r")
  arquivo = open("produtos.txt", "r")
    produtos = arquivo.readlines()
  produtos = arquivo.readlines()
    print(type(produtos))
  print(type(produtos))
    for i in produtos:
  for i in produtos:
        lista = i.split()
      lista = i.split()
        if lista[m] == pesquisar:
      if lista[m] == pesquisar:
            status["text"] = pesquisar + " encontrado"
          status["text"] = pesquisar + " encontrado"
            status.place(x = 5, y = 30)
          status.place(x = 5, y = 30)
            status["fg"] = "blue"  
          status["fg"] = "blue"  
            print("encontrado")
          print("encontrado")
            break
          break
        print(lista)
      print(lista)
    else:
  else:
        status["text"] = pesquisar + " não encontrado"
      status["text"] = pesquisar + " não encontrado"
        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):
    def clickadd():
  def clickadd():
        nome = inname.get()
      nome = inname.get()
        quantidade = inqnt.get()
      quantidade = inqnt.get()
        preco = inpreco.get()
      preco = inpreco.get()
        marca = inmarca.get()
      marca = inmarca.get()
        codigo = incodigo.get()
      codigo = incodigo.get()
       
     
        arquivo = open("produtos.txt", "r")
      arquivo = open("produtos.txt", "r")
        produtos = arquivo.readlines()
      produtos = arquivo.readlines()
        arquivo.close()
      arquivo.close()
       
     
        arquivo = open("produtos.txt", "w")
      arquivo = open("produtos.txt", "w")
       
     
        for i in produtos:
      for i in produtos:
            lista = i.split()
          lista = i.split()
            if lista[0] == pesquisa:
          if lista[0] == pesquisa:
                arquivo.writelines(nome + " " + quantidade + " " + preco + " " + marca+ " " + codigo+ "\n")
              arquivo.writelines(nome + " " + quantidade + " " + preco + " " + marca+ " " + codigo+ "\n")
            else:
          else:
                arquivo.writelines(i)
              arquivo.writelines(i)
        janelaeditar.destroy()
      janelaeditar.destroy()
     
        
        
       
  janelaeditar = Toplevel()
    janelaeditar = Toplevel()
  janelaeditar.geometry("300x200")
    janelaeditar.geometry("300x200")
  janelaeditar.title("Editar")
    janelaeditar.title("Editar")
 
   
  nome = Label(janelaeditar, text = "Nome do produto:").place(x = 5, y = 5)
    nome = Label(janelaeditar, text = "Nome do produto:").place(x = 5, y = 5)
  inname = Entry(janelaeditar)
    inname = Entry(janelaeditar)
  inname.place(x = 120, y = 5)
    inname.place(x = 120, y = 5)
 
   
  qnt = Label(janelaeditar, text = "Quantidade:").place(x = 5, y = 30)
    qnt = Label(janelaeditar, text = "Quantidade:").place(x = 5, y = 30)
  inqnt = Spinbox(janelaeditar, from_ = 0, to = 1000)
    inqnt = Spinbox(janelaeditar, from_ = 0, to = 1000)
  inqnt.place(x = 120, y = 30)
    inqnt.place(x = 120, y = 30)
 
   
  preco = Label(janelaeditar, text = "Preço:              R$").place(x = 5, y = 55)
    preco = Label(janelaeditar, text = "Preço:              R$").place(x = 5, y = 55)
  inpreco = Entry(janelaeditar)
    inpreco = Entry(janelaeditar)
  inpreco.place(x = 120, y = 55)
    inpreco.place(x = 120, y = 55)
 
   
  marca = Label(janelaeditar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
    marca = Label(janelaeditar, text = "Marca/Fornecedor:").place(x = 5, y = 80)
  inmarca = Entry(janelaeditar)
    inmarca = Entry(janelaeditar)
  inmarca.place(x = 120, y = 80)
    inmarca.place(x = 120, y = 80)


    codigo = Label(janelaeditar, text = "Codigo do produto:").place(x = 5, y = 105)
  codigo = Label(janelaeditar, text = "Codigo do produto:").place(x = 5, y = 105)
    incodigo = Entry(janelaeditar)
  incodigo = Entry(janelaeditar)
    incodigo.place(x = 120, y = 105)
  incodigo.place(x = 120, y = 105)
    pesquisa = tabela.get(ANCHOR)
  pesquisa = tabela.get(ANCHOR)
    for i in v:
  for i in v:
        if i.s["nome"] == pesquisa:
      if i.s["nome"] == pesquisa:
            inname.insert(END, i.s["nome"])
          inname.insert(END, i.s["nome"])
            inqnt.insert(0, i.s["qnt"])
          inqnt.insert(0, i.s["qnt"])
            inpreco.insert(END, i.s["preco"])
          inpreco.insert(END, i.s["preco"])
            inmarca.insert(END, i.s["marca"])
          inmarca.insert(END, i.s["marca"])
            incodigo.insert(END, i.s["codigo"])
          incodigo.insert(END, i.s["codigo"])
    btnadd = Button(janelaeditar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
  btnadd = Button(janelaeditar, text = "Confirmar", command = clickadd).place(x = 200, y = 160)
    janelaeditar.mainloop()
  janelaeditar.mainloop()


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


tabela = Listbox(janela, selectmode = EXTENDED, width = 73)
tabela = Listbox(janela, selectmode = EXTENDED, width = 73)
Linha 168: Linha 169:
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 175: Linha 176:
carrinho["command"] =partial(clickcarrinho, carrinho)  
carrinho["command"] =partial(clickcarrinho, carrinho)  


#RECOUVER
RECOUVER
pesquisa =  Entry(janela, width = 13)
pesquisa =  Entry(janela, width = 13)
pesquisa.place(x = 5, y = 10)
pesquisa.place(x = 5, y = 10)
Linha 184: Linha 185:
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)


janela.mainloop()
janela.mainloop()
</syntaxhighlight>

Edição das 01h52min de 17 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

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()

RECOUVER 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" 

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()

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)

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)

RECOUVER 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) UPDATE

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

janela.mainloop() </syntaxhighlight>