Exemplo n.º 1
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.
Exemplo n.º 2
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)