Jump to content

Mach_D

Membros
  • Contagem de Conteúdo

    1
  • Ingressou

  • Última visita

Clientes & Parceiros

  • Você é um cliente TecnoSpeed?
    Não
  • Você é um parceiro da Casa do Desenvolvedor?
    Não

Conquistas de Mach_D

0

Reputação na Comunidade

  1. from tkinter import * """ - Primeiro criar uma lista do que temos na dispensa, LISTA DISPENSA; - Criar uma lista com a parir de uma lista de estoque LISTA ESTOQUE; - Criar uma lista de compras a partir da lista do estoque e da lista dispensa LISTA DE COMPRAS; """ class Dispensa(object): def __init__(self): self.listaDispensa = [] def recebeDispensa(self): produto = [] ad = [] quant = int(vqtd.get()) # int(input("Quantidade: ")) produto.append(quant) un = vun.get().upper() #input("Unidade: ").upper() produto.append(un) prod = vprod.get().upper() #input("Produto: ").upper() produto.append(prod) ad = produto.copy() self.listaDispensa.append(ad) produto.clear() class Estoque(object): def __init__(self): self.lista = [] def estoque(self): with open("listaBase.txt", "r") as arquivo: self.lista = arquivo.readlines() for i in range(len(self.lista)): self.lista[i] = self.lista[i].upper().split() arquivo.close() for i in range(2,len(self.lista)): self.lista[i][0] = int(self.lista[i][0]) for i in range(2, len(self.lista)): for j in range(3, len(self.lista[i])): self.lista[i][2] += " " + self.lista[i][j] for i in range(2, len(self.lista)): del self.lista[i][3:(len(self.lista)+1)] d = Dispensa() e = Estoque() class Lista(object): def __init__(self): self.listaDeCompras = [] def calculaLista(self, lista, listaDispensa): a = [] for i in range(2,len(lista)): for j in range(len(listaDispensa)): if lista[i][2] == listaDispensa[j][2]: qtd = lista[i][0] - listaDispensa[j][0] a.append(qtd) a.append(listaDispensa[j][1]) a.append(listaDispensa[j][2]) d = a.copy() self.listaDeCompras.append(d) a.clear() print(self.listaDeCompras) l = Lista() def executa_func(): l.calculaLista(e.lista, d.listaDispensa) vprod.delete(0, END) vun.delete(0, END) vqtd.delete(0,END) vprod.focus_force() def executa_func2(): d.recebeDispensa() vprod.delete(0, END) vun.delete(0, END) vqtd.delete(0,END) vprod.focus_force() def ins_lista_base(): with open("listaBase.txt", "a") as arquivo: arquivo.write("\n" + vqtdC.get() + "...." + vun.get().upper() + "...." + vprod.get().upper()) arquivo.close() def nova_janela(): newWindow = Tk() newWindow.title("Cadastro de Produtos") newWindow.geometry("300x200") Label(newWindow,text =vprod.get().upper() + "\n não está cadastrado.\n Para cadastra-lo indique a quantidade\n mínima que deve ter em seu estoque.").place(x = 10, y = 10, width = 280, height = 80) Label(newWindow, text="Quantidade em Estoque",background="#DCDCDC", foreground = "#000", anchor = W).place(x=10, y = 95, width =180, height = 20) vqtdC = Entry(newWindow) vqtdC.place(x = 10, y = 115, width = 80, height = 20) botao = Button(newWindow, text = "Cadastrar", command=ins_lista_base) botao.place(x = 10, y=140, width = 80, height=25) newWindow.mainloop() janela = Tk() janela.title("Lista de Compras v 1.1") janela.geometry("600x400") janela.configure(background="#27d") Label(janela, text="Produto",background="#27d", foreground = "#000", anchor = W).place(x=10, y = 40, width = 80, height = 20) vprod = Entry(janela) vprod.place(x = 10, y = 60, width = 300, height = 20) vprod.focus_force() Label(janela, text="Unidade",background="#27d", foreground = "#000", anchor = W).place(x=10, y = 80, width = 80, height = 20) vun = Entry(janela) vun.place(x = 10, y = 100, width = 30, height = 20) Label(janela, text="Quantidade em Estoque",background="#27d", foreground = "#000", anchor = W).place(x=10, y = 122, width =180, height = 20) vqtd = Entry(janela) vqtd.place(x = 10, y = 140, width = 80, height = 20) Button(janela, text = "Cadastrar", command = nova_janela).place(x = 10, y=165, width = 80, height = 25) Button(janela, text = "Estoque", command = e.estoque).place(x = 10, y = 10, width = 80, height = 25) Button(janela, text = "Imprimir Lista", command = executa_func).place(x = 95, y = 10, width = 110, height = 25) janela.mainloop() Olá colegas!! Estou com um problema. Sou iniciante e estudando para uma avaliação com interfaces gráficas tentei criar uma aplicação simples para poder trabalhar com as janelas do Tkinter. A aplicação tem um arquivo de texto contendo uma lista com o que se deve conter no estoque de uma dispensa, e então uma janela com alguns Entrys é disponibilizado para que digitemos alguns dados do que temos em estoque. a primeira ideia é que quando clicássemos em cadastrar fizéssemos uma verificação se o item consta na lista do estoque, e.estoque. Para testar eu criei uma função nova_janela() para abrir uma nova janela como se fosse cadastrar o novo item. Nessa nova janela eu só devo colocar a quantidade do item que devemos ter em estoque, na variável "vqtdC" para que execute uma função que escreve no arquivo de texto (com a lista de estoque) adicionando o texto de vqtdC usando o metodo .get(). Este é o problema, quando executo a função ins_lista_base() aparece uma mensagem de erro informando que vqtdC não foi definida. Abaixo eu disponibilizo a informação de erro. Espero que possam me ajudar. File "main.py", line 102, in ins_lista_base arquivo.write("\n" + vqtdC.get() + "...." + vun.get().upper() + "...." + vprod.get().upper()) NameError: name 'vqtdC' is not defined
×
×
  • Create New...