コード例 #1
0
        def atualizarProduto():
            id_produto = str(new_produto[0])
            produto = str(entryProduto.get())
            marca = str(entryMarca.get())
            preco = str(entryPreco.get())
            quantidade = str(entryQuantidade.get())
            fornecedor = str(entryFornecedor.get())

            banco = Banco()
            banco.updateProduto(produto, marca, preco, quantidade, fornecedor,
                                id_produto)
            messagebox.showinfo("Info", "Atualizado com sucesso!")
コード例 #2
0
 def deletar():
     banco = Banco()
     selected_cliente = listClientes.curselection()[
         0]  # Atribuindo o cliente selecionado a variavel
     new_lista = banco.selectClienteTabela(
     )  # Selecionando todos os clientes do banco.
     new_cliente = new_lista[
         selected_cliente]  # Atribuindo o cliente que foi clicado.
     banco.deleteCliente(
         new_cliente[0]
     )  # Deletando o cliente a partir do ID que foi passado como parametro.
     listClientes.delete(selected_cliente,
                         END)  # Remove o cliente da Listbox.
コード例 #3
0
 def deletar():
     banco = Banco()
     selected_produto = listProdutos.curselection()[
         0]  # Atribuindo o produto selecionado a variavel
     new_lista = banco.selectProdutoTabela(
     )  # Selecionando todos os produtos do banco.
     new_produto = new_lista[
         selected_produto]  # Atribuindo o cliente que foi clicado.
     banco.deleteProduto(
         new_produto[0]
     )  # Deletando o produto a partir do ID que foi passado como parametro.
     listProdutos.delete(selected_produto,
                         END)  # Remove o produto da Listbox.
コード例 #4
0
        def atualizarCliente():
            id_cliente = str(labelIdValor['text'])
            nome = str(entryNome.get())
            endereco = str(entryEndereco.get())
            bairro = str(entryBairro.get())
            telefone = str(entryTelefone.get())
            email = str(entryEmail.get())
            sexo = str(s.get())
            cidade = str(c.get())

            banco = Banco()
            banco.updateCliente(nome, email, endereco, bairro, cidade,
                                telefone, sexo, id_cliente)
            messagebox.showinfo("Info", "Atualizado com sucesso!")
コード例 #5
0
    def salvar():
        banco = Banco()

        nome = str(entryNome.get())
        endereco = str(entryEndereco.get())
        bairro = str(entryBairro.get())
        telefone = str(entryTelefone.get())
        email = str(entryEmail.get())
        sexo = str(s.get())
        cidade = str(c.get())

        if (c.get() == "Selecione"):
            cidade = "Nao Informado"
        # Verifica se caixas de texto foram preenchidas, se nao foram, apresenta erro, se foram salva no arquivo
        if (nome == ""):
            messagebox.showerror("Error", "Favor preencher o nome do CLIENTE")
        elif (endereco == ""):
            endereco == "Não informado"
        elif (bairro == ""):
            messagebox.showerror("Error", "Favor preencher o campo BAIRRO")
        elif (telefone == ""):
            messagebox.showerror("Error", "Favor preencher o campo TELEFONE")
        elif (email == ""):
            messagebox.showerror("Error", "Favor preencher o campo EMAIL")
        else:
            banco.insertCliente(nome, email, endereco, bairro, cidade,
                                telefone, sexo)

            # Escreve no arquivo.txt as informações do cliente
            arquivo = open("CLIENTESCADASTRADOS.txt", "a")
            arquivo.write(
                "@@@@@@@@@@@@@@@   Cadastro de Cliente   @@@@@@@@@@@@@" + "\n")
            arquivo.write(
                "-----------------------------------------------------")
            arquivo.writelines("\n" + "Nome:" + nome + "\n" + "E-mail:" +
                               email + "\n" + "Endereco:" + endereco + "\n" +
                               "Bairro:" + bairro + "\n" + "Telefone:" +
                               telefone + "\n" + "Sexo:" + sexo + "\n" +
                               "Cidade:" + cidade + "\n")
            arquivo.write(
                "-----------------------------------------------------" + "\n")
            arquivo.close()

            messagebox.showinfo("Info", "Salvo com sucesso!")
            janela.destroy()
コード例 #6
0
    def salvar(
    ):  # FUNCAO PARA SALVAR NO BANCO DE DADOS E SALVAR NO ARQUIVO DE TXT
        banco = Banco()

        produto = str(entryProduto.get())
        marca = str(entryMarca.get())
        preco = str(entryPreco.get())
        quantidade = str(entryQuantidade.get())
        fornecedor = str(entryFornecedor.get())

        # Verifica se caixas de texto foram preenchidas, se nao foram, apresenta erro, se foram salva no arquivo
        if (produto == ""):
            messagebox.showerror("Error", "Favor preencher o nome do PRODUTO")
        if (quantidade == ""):
            quantidade == "Não informado"
        if (marca == ""):
            marca == "Não informado"
        elif (preco == ""):
            messagebox.showerror("Error", "Favor preencher o campo PRECO")
        elif (fornecedor == ""):
            fornecedor == "Não informado"
        else:
            banco.insertProduto(produto, marca, preco, quantidade, fornecedor)

            # Escreve no arquivo.txt as informações do produto
            arquivo = open("PRODUTOSCADASTRADOS.txt", "a")
            arquivo.write(
                "@@@@@@@@@@@@@@@   Cadastro de Produto   @@@@@@@@@@@@@" + "\n")
            arquivo.write(
                "-----------------------------------------------------")
            arquivo.writelines("\n" + "Produto:" + produto + "\n" + "Marca:" +
                               marca + "\n" + "preco:" + preco + "\n" +
                               "Quantidade:" + quantidade + "\n" +
                               "Fornecedor:" + fornecedor + "\n")
            arquivo.write(
                "-----------------------------------------------------" + "\n")
            arquivo.close()

            messagebox.showinfo("Info", "Salvo com sucesso!")

        janela.destroy()
コード例 #7
0
 def __init__(self, master=None):
     Usuario = "Admin"
     Senha = "Admin"
     banco = Banco()
     c = banco.conexao.cursor()
     c.execute("SELECT * FROM Funcionarios")
     if not c.fetchone():
         c.execute(
             "INSERT INTO Funcionarios ('username', 'password') VALUES (?,?)",
             (Usuario, Senha))
         banco.conexao.commit()
         banco.conexao.close()
         LoginScreen()
     else:
         LoginScreen()
コード例 #8
0
    def ExcluirCliente(self):
        ClienteSelecionado = self.listaCliente.curselection()
        if ClienteSelecionado:
            ClienteID = self.listaClienteID[ClienteSelecionado[0]]
            banco = Banco()
            con = banco.conexao
            c = banco.conexao.cursor()

            c.execute("DELETE FROM Clientes WHERE id=?", (ClienteID, ))
            con.commit()
            con.close()
            self.PesquisarCliente()
            self.txtStatus['text'] = "Cliente excluido com sucesso"
            return
        else:
            self.txtStatus['text'] = "ERRO: Voce deve selecionar um cliente"
コード例 #9
0
    def ExcluirDVD(self):
        DVDSelecionado = self.listaDVD.curselection()
        if DVDSelecionado:
            DVDID = self.listaDVDID[DVDSelecionado[0]]
            banco = Banco()
            con = banco.conexao
            c = banco.conexao.cursor()

            c.execute("DELETE FROM DVD WHERE id=?", (DVDID, ))
            con.commit()
            con.close()
            self.PesquisarDVD()
            self.txtStatus['text'] = "DVD excluido com sucesso"
            return
        else:
            self.txtStatus['text'] = "ERRO: Voce deve selecionar um DVD"
コード例 #10
0
 def PesquisarDVD(self):
     banco = Banco()
     DVDPesquisado = self.entryDVD.get()
     con = banco.conexao
     con.row_factory = sqlite3.Row
     c = banco.conexao.cursor()
     c.execute("SELECT * FROM DVD WHERE filme LIKE '%" + DVDPesquisado +
               "%' OR cod_dvd LIKE '%" + DVDPesquisado + "%'")
     resul = c.fetchall()
     self.listaDVD.delete(0, 6)
     count = 0
     self.listaDVDID = [None, None, None, None, None, None]
     for i in resul:
         self.listaDVD.insert(i['id'], i['filme'] + " - " + i['cod_dvd'])
         self.listaDVDID[count] = i['id']
         count += 1
         if count == 6:
             break
     con.close()
コード例 #11
0
 def PesquisarCliente(self):
     banco = Banco()
     clientePesquisado = self.entryCliente.get()
     con = banco.conexao
     con.row_factory = sqlite3.Row
     c = banco.conexao.cursor()
     c.execute("SELECT * FROM Clientes WHERE nome LIKE '%" +
               clientePesquisado + "%' OR cpf LIKE '%" + clientePesquisado +
               "%'")
     resul = c.fetchall()
     self.listaCliente.delete(0, 6)
     count = 0
     self.listaClienteID = [None, None, None, None, None, None]
     for i in resul:
         self.listaCliente.insert(i['id'], i['nome'])
         self.listaClienteID[count] = i['id']
         count += 1
         if count == 6:
             break
     con.close()
コード例 #12
0
    def excluirFuncionario(self):
        FuncionarioUsuario = self.entryUsuario.get()
        banco = Banco()
        con = banco.conexao
        con.row_factory = sqlite3.Row
        c = banco.conexao.cursor()

        if not FuncionarioUsuario:
            self.txtStatus['text'] = "ERRO: Insira um usuario e uma senha!"
            return

        resul = c.execute("SELECT * FROM Funcionarios WHERE username=?",
                          (FuncionarioUsuario, )).fetchone()
        if resul:
            c.execute("DELETE FROM Funcionarios WHERE username=?",
                      (FuncionarioUsuario, ))
            con.commit()
            con.close()
            self.txtStatus['text'] = "Funcionario excluido com sucesso"
        else:
            self.txtStatus['text'] = "ERRO: Esse Funcionario nao existe!"
            return
コード例 #13
0
    def criarFilme(self):
        DVDFilme = self.entryFilme.get()
        DVDCod_dvd = self.entryCodDVD.get()
        banco = Banco()
        c = banco.conexao.cursor()

        if not DVDFilme or not DVDCod_dvd:
            self.txtStatus['text'] = "ERRO: Insira um Filme e o codigo do DVD!"
            return

        resul = c.execute("SELECT * FROM DVD WHERE cod_dvd=?", (DVDCod_dvd, ))
        if resul.fetchone():
            self.txtStatus[
                'text'] = "ERRO: Ja existe um DVD cadastrado com esse Código de DVD!"
            return

        c.execute("INSERT INTO DVD ('filme', 'cod_dvd') VALUES(?,?)",
                  (DVDFilme, DVDCod_dvd))
        banco.conexao.commit()
        banco.conexao.close()

        self.txtStatus['text'] = "DVD Cadastrado com sucesso!"
コード例 #14
0
    def criarCliente(self):
        clienteNome = self.entryNome.get()
        clienteCPF = self.entrycpf.get()
        banco = Banco()
        c = banco.conexao.cursor()

        if not clienteNome or not clienteCPF:
            self.txtStatus['text'] = "ERRO: Insira um nome um CPF!"
            return

        resul = c.execute("SELECT * FROM Clientes WHERE cpf=?", (clienteCPF, ))
        if resul.fetchone():
            self.txtStatus[
                'text'] = "ERRO: Ja existe um cliente cadastrado com esse CPF!"
            return

        c.execute("INSERT INTO Clientes ('nome', 'cpf') VALUES(?,?)",
                  (clienteNome, clienteCPF))
        banco.conexao.commit()
        banco.conexao.close()

        self.txtStatus['text'] = "Cliente Cadastrado com sucesso!"
コード例 #15
0
    def DevolverDVD(self):
        DVDSelecionado = self.listaDVD.curselection()
        ClienteSelecionado = self.listaCliente.curselection()
        if DVDSelecionado and ClienteSelecionado:
            ClienteID = self.listaClienteID[ClienteSelecionado[0]]
            DVDID = self.listaDVDID[DVDSelecionado[0]]
            banco = Banco()
            con = banco.conexao
            con.row_factory = sqlite3.Row
            c = banco.conexao.cursor()

            c.execute("SELECT * FROM Clientes")
            resul = c.fetchall()
            for i in resul:
                dvd_codes = json.loads(i['dvd_codes'])
                if not (int(DVDID) in dvd_codes) and (i['id']
                                                      == int(ClienteID)):
                    self.txtStatus[
                        'text'] = "Esse DVD nao foi alugado por esse cliente"
                    return

            c.execute("SELECT dvd_codes FROM Clientes WHERE id=?",
                      (ClienteID, ))
            resul = c.fetchone()
            dvd_codes = json.loads(resul['dvd_codes'])
            dvd_codes.remove(int(DVDID))
            dvd_codes_str = json.dumps(dvd_codes)

            c.execute("UPDATE Clientes SET dvd_codes=? WHERE id=?",
                      (dvd_codes_str, ClienteID))
            con.commit()
            con.close()
            self.txtStatus['text'] = "DVD " + self.listaDVD.get(
                DVDSelecionado[0]) + " devolvido por " + self.listaCliente.get(
                    ClienteSelecionado[0])
        else:
            self.txtStatus[
                'text'] = "ERRO: Voce deve selecionar um cliente e um DVD!"
コード例 #16
0
    def criarFuncionario(self):
        FuncionarioUsuario = self.entryUsuario.get()
        FuncionarSenha = self.entrySenha.get()
        banco = Banco()
        c = banco.conexao.cursor()

        if not FuncionarioUsuario or not FuncionarSenha:
            self.txtStatus['text'] = "ERRO: Insira um usuario e uma senha!"
            return

        resul = c.execute("SELECT * FROM Funcionarios WHERE username=?",
                          (FuncionarioUsuario, ))
        if resul.fetchone():
            self.txtStatus[
                'text'] = "ERRO: Ja existe um funcionario cadastrado com esse nome de Usuario!"
            return

        c.execute(
            "INSERT INTO Funcionarios ('username', 'password') VALUES(?,?)",
            (FuncionarioUsuario, FuncionarSenha))
        banco.conexao.commit()
        banco.conexao.close()

        self.txtStatus['text'] = "Funcionario Cadastrado com sucesso!"
コード例 #17
0
def verProdutos():
    janela = Tk()
    janela.geometry("500x600+0+0")
    janela["bg"] = "#9ACD32"
    janela.title("Produtos")

    # FRAME DE CIMA
    framef0 = Frame(janela,
                    background="#03A9F4",
                    width=485,
                    height=100,
                    bd=8,
                    relief="raise")
    framef0.place(x=0, y=0)

    # Mensagem de Inicio
    mensagem1 = Label(janela,
                      text='Produtos cadastrados',
                      font=("arial", 20, "bold"),
                      background="#03A9F4",
                      foreground="white")
    mensagem1.place(x=110, y=30)
    # FRAME DE BAIXO
    framef1 = Frame(janela, width=485, height=500, bd=8, relief="raise")
    framef1.place(x=0, y=100)

    banco = Banco()

    # Criando objetos que estarão na tela e ligando um objeto ao outro
    scrollProdutos = Scrollbar(janela, orient=VERTICAL)
    listProdutos = Listbox(
        janela, width=75, height=20, yscrollcommand=scrollProdutos.set
    )  # opção de comando que são chamados quando forem necessarias para a barra de rolagem para ser atualizado
    scrollProdutos.config(command=listProdutos.yview)
    scrollProdutos.pack(side=RIGHT, fill=Y)
    listProdutos.place(x=12, y=110)

    def atualizar():
        janela = Tk()
        janela.geometry("500x500+0+0")
        janela["bg"] = "#9ACD32"
        janela.title("Atualizacao de Produtos")

        banco = Banco()
        selected_produto = listProdutos.curselection()[
            0]  # Atribuindo o clique a variavel
        new_lista = banco.selectProdutoTabela(
        )  # Selecionando todos os produtos no banco
        new_produto = new_lista[
            selected_produto]  # Atribuindo o produto que foi clicado

        # FRAME DE CIMA
        framef0 = Frame(janela,
                        background="#03A9F4",
                        width=500,
                        height=100,
                        bd=8,
                        relief="raise")
        framef0.place(x=0, y=0)

        # Mensagem de Inicio
        mensagem1 = Label(janela,
                          text='Atualizando Produto',
                          font=("arial", 20, "bold"),
                          background="#03A9F4",
                          foreground="white")
        mensagem1.place(x=110, y=30)
        # FRAME DE BAIXO
        framef1 = Frame(janela, width=500, height=400, bd=8, relief="raise")
        framef1.place(x=0, y=100)

        # CRIANDO VARIAVEIS PARA ARMAZENAR O TEXTO INSERIDO PELO USUARIO
        txtProduto = StringVar()
        txtMarca = StringVar()
        txtPreco = StringVar()
        txtQuantidade = StringVar()
        txtFornecedor = StringVar()

        # CRIANDO OBJETOS QUE ESTARAO NA TELA
        labelProduto = Label(janela, text="Produto:", font=("bold", 10))
        labelMarca = Label(janela, text="Marca:", font=("bold", 10))
        labelPreco = Label(janela, text="Preco:", font=("bold", 10))
        labelQuantidade = Label(janela, text="Quantidade:", font=("bold", 10))
        labelFornecedor = Label(janela, text="Fornecedor:", font=("bold", 10))

        entryProduto = Entry(janela, width=30)
        entryMarca = Entry(janela, width=30)
        entryPreco = Entry(janela, width=30)
        entryQuantidade = Entry(janela, width=30)
        entryFornecedor = Entry(janela, width=30)

        # UTILIZANDO O METODO PLACE PARA POSICIONAR OS OBJETOS NA JANELA
        labelProduto.place(x=10, y=120)
        labelMarca.place(x=10, y=150)
        labelPreco.place(x=10, y=180)
        labelQuantidade.place(x=10, y=210)
        labelFornecedor.place(x=10, y=240)

        entryProduto.place(x=80, y=120)
        entryMarca.place(x=80, y=150)
        entryPreco.place(x=80, y=180)
        entryQuantidade.place(x=80, y=210)
        entryFornecedor.place(x=80, y=240)

        # INSERINDO VALORES AS LINHAS PARA SEREM MODIFICADOS
        entryProduto.insert(0, new_produto[1])
        entryMarca.insert(0, new_produto[2])
        entryPreco.insert(0, new_produto[3])
        entryQuantidade.insert(0, new_produto[4])
        entryFornecedor.insert(0, new_produto[5])

        def atualizarProduto():
            id_produto = str(new_produto[0])
            produto = str(entryProduto.get())
            marca = str(entryMarca.get())
            preco = str(entryPreco.get())
            quantidade = str(entryQuantidade.get())
            fornecedor = str(entryFornecedor.get())

            banco = Banco()
            banco.updateProduto(produto, marca, preco, quantidade, fornecedor,
                                id_produto)
            messagebox.showinfo("Info", "Atualizado com sucesso!")

        # Botoes
        botaoAtualizar = Button(janela,
                                text="Salvar",
                                width=16,
                                height=6,
                                bg="#00c853",
                                command=atualizarProduto).place(x=90, y=360)
        botaoSair = Button(janela,
                           text="Sair",
                           width=16,
                           height=6,
                           bg="#c62828",
                           command=janela.destroy).place(x=260, y=360)

        janela.mainloop()

    # Lista todos os produtos cadastrados, percorrendo os arquivos no SQLite3
    lista = banco.selectProdutoTabela()
    for i in range(len(lista)):
        listProdutos.insert(END, lista[i])

    def deletar():
        banco = Banco()
        selected_produto = listProdutos.curselection()[
            0]  # Atribuindo o produto selecionado a variavel
        new_lista = banco.selectProdutoTabela(
        )  # Selecionando todos os produtos do banco.
        new_produto = new_lista[
            selected_produto]  # Atribuindo o cliente que foi clicado.
        banco.deleteProduto(
            new_produto[0]
        )  # Deletando o produto a partir do ID que foi passado como parametro.
        listProdutos.delete(selected_produto,
                            END)  # Remove o produto da Listbox.

    # botaoVerTodos  = Button(janela, text = "Ver todos", width = 20, command = verTodos).place(x = 330, y = 350)
    botaoDeletar = Button(janela,
                          text="Deletar  ",
                          width=16,
                          height=6,
                          bg="#00c853",
                          command=deletar).place(x=50, y=460)
    botaoAtualizar = Button(janela,
                            text="Editar Produto",
                            width=16,
                            height=6,
                            bg="#03A9F4",
                            command=atualizar).place(x=180, y=460)
    botaoSair = Button(janela,
                       text="Sair",
                       width=16,
                       height=6,
                       bg="#c62828",
                       command=janela.destroy).place(x=310, y=460)
コード例 #18
0
    def atualizar():
        janela = Tk()
        janela.geometry("500x500+0+0")
        janela["bg"] = "#9ACD32"
        janela.title("Atualizacao de Produtos")

        banco = Banco()
        selected_produto = listProdutos.curselection()[
            0]  # Atribuindo o clique a variavel
        new_lista = banco.selectProdutoTabela(
        )  # Selecionando todos os produtos no banco
        new_produto = new_lista[
            selected_produto]  # Atribuindo o produto que foi clicado

        # FRAME DE CIMA
        framef0 = Frame(janela,
                        background="#03A9F4",
                        width=500,
                        height=100,
                        bd=8,
                        relief="raise")
        framef0.place(x=0, y=0)

        # Mensagem de Inicio
        mensagem1 = Label(janela,
                          text='Atualizando Produto',
                          font=("arial", 20, "bold"),
                          background="#03A9F4",
                          foreground="white")
        mensagem1.place(x=110, y=30)
        # FRAME DE BAIXO
        framef1 = Frame(janela, width=500, height=400, bd=8, relief="raise")
        framef1.place(x=0, y=100)

        # CRIANDO VARIAVEIS PARA ARMAZENAR O TEXTO INSERIDO PELO USUARIO
        txtProduto = StringVar()
        txtMarca = StringVar()
        txtPreco = StringVar()
        txtQuantidade = StringVar()
        txtFornecedor = StringVar()

        # CRIANDO OBJETOS QUE ESTARAO NA TELA
        labelProduto = Label(janela, text="Produto:", font=("bold", 10))
        labelMarca = Label(janela, text="Marca:", font=("bold", 10))
        labelPreco = Label(janela, text="Preco:", font=("bold", 10))
        labelQuantidade = Label(janela, text="Quantidade:", font=("bold", 10))
        labelFornecedor = Label(janela, text="Fornecedor:", font=("bold", 10))

        entryProduto = Entry(janela, width=30)
        entryMarca = Entry(janela, width=30)
        entryPreco = Entry(janela, width=30)
        entryQuantidade = Entry(janela, width=30)
        entryFornecedor = Entry(janela, width=30)

        # UTILIZANDO O METODO PLACE PARA POSICIONAR OS OBJETOS NA JANELA
        labelProduto.place(x=10, y=120)
        labelMarca.place(x=10, y=150)
        labelPreco.place(x=10, y=180)
        labelQuantidade.place(x=10, y=210)
        labelFornecedor.place(x=10, y=240)

        entryProduto.place(x=80, y=120)
        entryMarca.place(x=80, y=150)
        entryPreco.place(x=80, y=180)
        entryQuantidade.place(x=80, y=210)
        entryFornecedor.place(x=80, y=240)

        # INSERINDO VALORES AS LINHAS PARA SEREM MODIFICADOS
        entryProduto.insert(0, new_produto[1])
        entryMarca.insert(0, new_produto[2])
        entryPreco.insert(0, new_produto[3])
        entryQuantidade.insert(0, new_produto[4])
        entryFornecedor.insert(0, new_produto[5])

        def atualizarProduto():
            id_produto = str(new_produto[0])
            produto = str(entryProduto.get())
            marca = str(entryMarca.get())
            preco = str(entryPreco.get())
            quantidade = str(entryQuantidade.get())
            fornecedor = str(entryFornecedor.get())

            banco = Banco()
            banco.updateProduto(produto, marca, preco, quantidade, fornecedor,
                                id_produto)
            messagebox.showinfo("Info", "Atualizado com sucesso!")

        # Botoes
        botaoAtualizar = Button(janela,
                                text="Salvar",
                                width=16,
                                height=6,
                                bg="#00c853",
                                command=atualizarProduto).place(x=90, y=360)
        botaoSair = Button(janela,
                           text="Sair",
                           width=16,
                           height=6,
                           bg="#c62828",
                           command=janela.destroy).place(x=260, y=360)

        janela.mainloop()
コード例 #19
0
class LoginScreen:
    banco = Banco()

    def __init__(self, master=None):
        self.fonte25 = ("Verdana", 25)
        self.fonteTexto = ("Verdana", 12)
        self.bgColor = '#1e496e'
        self.fgColor = '#ffdb50'

        self.frmMain = Frame(master, bg=self.bgColor)
        self.frmMain.pack(fill=BOTH, expand=True)

        self.txtTitulo = Label(self.frmMain,
                               text="LOCADORA DE DVDS",
                               fg=self.fgColor,
                               bg=self.bgColor,
                               font=self.fonte25)
        self.txtTitulo.pack(pady=30)

        self.frmEspacing1 = Frame(self.frmMain, bg=self.bgColor, height=60)
        self.frmEspacing1.pack(fill=Y)

        self.frmUsername = Frame(self.frmMain, bg=self.bgColor)
        self.frmUsername.pack(pady=10)
        self.entryUsername = Entry(self.frmUsername,
                                   bg=self.bgColor,
                                   fg=self.fgColor,
                                   font=self.fonteTexto)
        self.entryUsername.pack(side=RIGHT)
        self.txtUsername = Label(self.frmUsername,
                                 text="Username:"******"*",
                                   font=self.fonteTexto)
        self.entryPassword.pack(side=RIGHT)
        self.txtPassword = Label(self.frmPassword,
                                 text=" Password:"******"Login",
                               width=10,
                               bg=self.fgColor,
                               fg=self.bgColor,
                               command=self.Login)
        self.btnLogin.pack(pady=10, padx=7, side=LEFT)
        self.btnQuit = Button(self.frmLogin,
                              text="Sair",
                              width=10,
                              bg=self.fgColor,
                              fg=self.bgColor,
                              command=self.Quit)
        self.btnQuit.pack(pady=10, padx=7, side=LEFT)

        self.txtLoginError = Label(self.frmMain,
                                   bg=self.bgColor,
                                   fg=self.fgColor,
                                   font=self.fonteTexto)
        self.txtLoginError.pack()

        self.imgPython = PhotoImage(file="PythonIcon1.png")
        self.labelImage = Label(self.frmMain,
                                image=self.imgPython,
                                bg=self.bgColor)
        self.labelImage.pack(fill=BOTH, expand=True)

        self.frmEspacing2 = Frame(self.frmMain, bg=self.bgColor)
        self.frmEspacing2.pack(fill=Y)

    def Login(self):
        username = self.entryUsername.get()
        password = self.entryPassword.get()
        c = self.banco.conexao.cursor()
        c.execute("SELECT * FROM Funcionarios WHERE username=? AND password=?",
                  (username, password))
        if c.fetchone() is not None:
            self.frmMain.destroy()
            MainScreen()
        else:
            self.txtLoginError["text"] = "Usuario ou Senha Invalidos!"

    def Quit(self):
        root.destroy()
コード例 #20
0
    def atualizar():
        janela = Tk()
        janela.geometry("500x500+500+0")
        janela["bg"] = "#9ACD32"
        janela.title("Atualização de cliente")

        banco = Banco()
        selected_cliente = listClientes.curselection()[
            0]  # Atribuindo o cliente selecionado a variavel
        new_lista = banco.selectClienteTabela(
        )  # Selecionando todos os clientes do banco.
        new_cliente = new_lista[
            selected_cliente]  # Atribuindo o cliente que foi clicado.

        #   FRAME DE CIMA
        framef0 = Frame(janela,
                        background="#03A9F4",
                        width=500,
                        height=100,
                        bd=8,
                        relief="raise")
        framef0.place(x=0, y=0)

        # Mensagem de Inicio
        mensagem1 = Label(janela,
                          text='Atualização de Cliente',
                          font=("arial", 20, "bold"),
                          background="#03A9F4",
                          foreground="white")
        mensagem1.place(x=110, y=30)
        # FRAME DE BAIXO
        framef1 = Frame(janela, width=500, height=400, bd=8, relief="raise")
        framef1.place(x=0, y=100)

        # CRIANDO VARIAVEIS PARA ARMAZENAR O TEXTO INSERIDO PELO USUARIO
        txtNome = StringVar()
        txtEmail = StringVar()
        txtEndereco = StringVar()
        txtTelefone = StringVar()
        txtBairro = StringVar()

        # CRIANDO OS OBJETOS QUE ESTARAO NA JANELA
        labelId = Label(janela, text="ID", font=("bold", 10))
        labelIdValor = Label(janela,
                             text=str(new_cliente[0]),
                             font=("bold", 15))
        labelNome = Label(janela, text="Nome:", font=("bold", 10))
        labelEmail = Label(janela, text="Email:", font=("bold", 10))
        labelEndereco = Label(janela, text="Endereco:", font=("bold", 10))
        labelBairro = Label(janela, text="Bairro:", font=("bold", 10))
        labelTelefone = Label(janela, text="Telefone:", font=("bold", 10))
        labelSexo = Label(janela, text="Sexo:", font=("bold", 10))
        labelCidade = Label(janela, text="Cidade:", font=("bold", 10))

        entryNome = Entry(janela, width=50, textvariable=txtNome)
        entryEmail = Entry(janela, width=50, textvariable=txtEmail)
        entryEndereco = Entry(janela, width=50, textvariable=txtEndereco)
        entryBairro = Entry(janela, width=50, textvariable=txtBairro)
        entryTelefone = Entry(janela, width=50, textvariable=txtTelefone)

        # UTILIZANDO O METODO PLACE PARA POSICIONAR OS OBJETOS NA JANELA
        labelId.place(x=430, y=120)
        labelIdValor.place(x=430, y=150)
        labelNome.place(x=10, y=120)
        labelEmail.place(x=10, y=150)
        labelEndereco.place(x=10, y=180)
        labelBairro.place(x=10, y=210)
        labelCidade.place(x=10, y=310)
        labelTelefone.place(x=10, y=240)
        labelSexo.place(x=10, y=270)

        entryNome.place(x=80, y=120)
        entryEmail.place(x=80, y=150)
        entryEndereco.place(x=80, y=180)
        entryBairro.place(x=80, y=210)
        entryTelefone.place(x=80, y=240)

        entryNome.insert(0, new_cliente[1])
        entryEmail.insert(0, new_cliente[2])
        entryEndereco.insert(0, new_cliente[3])
        entryBairro.insert(0, new_cliente[4])
        entryTelefone.insert(0, new_cliente[6])

        labelSexo = Label(janela, text="Sexo:", font=("bold", 10))
        listSexo = ['Masculino', 'Feminino', 'Outros']
        s = StringVar(janela)
        s.set(new_cliente[7])
        dropListSexo = OptionMenu(janela, s, *listSexo)
        dropListSexo.config(
            width=15,
            font=("bold", 10),
        )
        dropListSexo['bg'] = "#03A9F4"
        dropListSexo.place(x=100, y=270)

        labelCidade = Label(janela,
                            text="Cidade do cliente:",
                            font=("bold", 10))
        listaCidades = [
            'Araripe', 'Barbalha', 'Crato', 'Jardim', 'Juazeiro', 'Nova Olinda'
        ]
        #  C INICIA A STRING COM UM VALOR PREDEFINIDO
        c = StringVar(janela)  # Necessario passar o parametro
        c.set(new_cliente[5])
        dropList = OptionMenu(janela, c, *listaCidades)
        dropList.config(width=15, font=("bold", 10))
        dropList['bg'] = "#03A9F4"
        dropList.place(x=100, y=310)

        def atualizarCliente():
            id_cliente = str(labelIdValor['text'])
            nome = str(entryNome.get())
            endereco = str(entryEndereco.get())
            bairro = str(entryBairro.get())
            telefone = str(entryTelefone.get())
            email = str(entryEmail.get())
            sexo = str(s.get())
            cidade = str(c.get())

            banco = Banco()
            banco.updateCliente(nome, email, endereco, bairro, cidade,
                                telefone, sexo, id_cliente)
            messagebox.showinfo("Info", "Atualizado com sucesso!")

        # Botoes
        botaoAtualizar = Button(janela,
                                text="Salvar",
                                width=16,
                                height=6,
                                bg="#00c853",
                                command=atualizarCliente).place(x=90, y=360)
        botaoSair = Button(janela,
                           text="Sair",
                           width=16,
                           height=6,
                           bg="#c62828",
                           command=janela.destroy).place(x=260, y=360)