Example #1
0
    def main_clientes(self, frame):
        super(MainClientes, self).setClientes(frame)
        self.ct_frame_clientes.show()

        # Classes
        self.funcao = Funcoes()
        self.lista_indicies = ListasIndices()

        # Ajustes no Formulário
        self.tx_telefone_cliente.setInputMask("(00) 00000-0000#")

        # Estilo dos Botoes
        self.funcao.estilo_botao_acao(self.bt_cadastrar_clientes,
                                      self.bt_cancelar_cliente)

        # Tamanho, acao  e conteudo da tabela produtos
        self.tabela_clientes.setColumnWidth(0, 40)
        self.tabela_clientes.setColumnWidth(1, 250)
        self.tabela_clientes.horizontalHeader().setResizeMode(
            QtGui.QHeaderView.Fixed)
        self.tabela_clientes.verticalHeader().setVisible(False)
        # self.tabela_clientes.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

        self.tabela_clientes.cellDoubleClicked.connect(self.selecionar_cliente)
        self.tx_buscar_clientes.returnPressed.connect(self.busca_na_tabela)

        self.tx_cod = QtGui.QLineEdit()
        self.tx_cod.setHidden(True)

        # Ação dos Botoes
        # Cadastro
        self.bt_cadastrar_clientes.clicked.connect(self.confirmar_cliente)
        self.bt_cancelar_cliente.clicked.connect(self.cancela_cliente)

        # Combobox Estados
        self.lista_indicies.todos_estados()
        self.tx_estado_cliente.addItems(self.lista_indicies.lista_estados)
        self.tx_estado_cliente.setEditable(True)
        self.tx_estado_cliente.setCurrentIndex(18)

        # add itens tabela
        self.listar_clientes()
Example #2
0
    def main_estoque(self, frame):
        super(MainEstoque, self).setEstoque(frame)
        self.ct_frame_estoque.show()

        # Classes
        self.indices = ListasIndices()
        self.funcoes = Funcoes()

        # Lista Status
        self.indices.lista_status()

        self.tx_cod_produto.setReadOnly(True)

        # Estilo botoes
        self.bt_cad_produto.setStyleSheet(
            "color: #FFF; border: 2px solid #0CA3D2; border-radius:10px;"
            "background: #FFF; color: #000")
        self.bt_cancelar.setStyleSheet(
            "color: #FFF; border: 2px solid red; border-radius:10px;"
            "background: #FFF; color: #000")

        # Tamanho, acao  e conteudo da tabela produtos
        self.tabela_estoque.setColumnWidth(0, 40)
        self.tabela_estoque.setColumnWidth(1, 205)
        self.tabela_estoque.setColumnWidth(2, 45)
        self.tabela_estoque.horizontalHeader().setResizeMode(
            QtGui.QHeaderView.Fixed)
        self.tabela_estoque.verticalHeader().setVisible(False)
        self.tabela_estoque.setEditTriggers(
            QtGui.QAbstractItemView.NoEditTriggers)

        #Selecionar da Tabela
        self.tabela_estoque.cellDoubleClicked.connect(self.selecionar)

        # #Acao
        # Cadastro
        self.bt_cad_produto.clicked.connect(self.confirmar)
        # Cancelar
        self.bt_cancelar.clicked.connect(self.cancelar)

        # Preencher a tabela
        self.busca_produto()

        # Buscar da Tabela
        self.tx_buscar_produto.returnPressed.connect(self.busca_produto)
Example #3
0
class MainClientes(Ui_frame_clientes):
    def main_clientes(self, frame):
        super(MainClientes, self).setClientes(frame)
        self.ct_frame_clientes.show()

        # Classes
        self.funcao = Funcoes()
        self.lista_indicies = ListasIndices()

        # Ajustes no Formulário
        self.tx_telefone_cliente.setInputMask("(00) 00000-0000#")

        # Estilo dos Botoes
        self.funcao.estilo_botao_acao(self.bt_cadastrar_clientes,
                                      self.bt_cancelar_cliente)

        # Tamanho, acao  e conteudo da tabela produtos
        self.tabela_clientes.setColumnWidth(0, 40)
        self.tabela_clientes.setColumnWidth(1, 250)
        self.tabela_clientes.horizontalHeader().setResizeMode(
            QtGui.QHeaderView.Fixed)
        self.tabela_clientes.verticalHeader().setVisible(False)
        # self.tabela_clientes.setEditTriggers(QtGui.QAbstractItemView.NoEditTriggers)

        self.tabela_clientes.cellDoubleClicked.connect(self.selecionar_cliente)
        self.tx_buscar_clientes.returnPressed.connect(self.busca_na_tabela)

        self.tx_cod = QtGui.QLineEdit()
        self.tx_cod.setHidden(True)

        # Ação dos Botoes
        # Cadastro
        self.bt_cadastrar_clientes.clicked.connect(self.confirmar_cliente)
        self.bt_cancelar_cliente.clicked.connect(self.cancela_cliente)

        # Combobox Estados
        self.lista_indicies.todos_estados()
        self.tx_estado_cliente.addItems(self.lista_indicies.lista_estados)
        self.tx_estado_cliente.setEditable(True)
        self.tx_estado_cliente.setCurrentIndex(18)

        # add itens tabela
        self.listar_clientes()

    def listar_clientes(self):
        busca = CrudCliente()
        busca.crud_tabela_cliente()

        while self.tabela_clientes.rowCount() > 0:
            self.tabela_clientes.removeRow(0)

        x = 0
        while x < len(busca.nome_cliente):
            self.tabela_clientes.insertRow(x)
            self.tabela_clientes.setItem(
                x, 0, QtGui.QTableWidgetItem(str(busca.cod_cliente[x])))
            self.tabela_clientes.setItem(
                x, 1, QtGui.QTableWidgetItem(busca.nome_cliente[x]))
            x += 1

    # selecionar item na tabela
    def selecionar_cliente(self, row, col):

        busca = CrudCliente()
        busca.buscar_cliente_selecionado(
            str(self.tabela_clientes.item(row, 0).text()))
        self.tx_cod.setText(str(busca.cod_cliente))
        self.tx_nome_cliente.setText(busca.nome_cliente)
        self.tx_nome_cliente_2.setText(busca.sobremone)
        self.tx_cpf_cliente.setText(busca.cpf)
        self.tx_telefone_cliente.setText(busca.telefone)
        self.tx_endereco_cliente.setText(busca.endereco)
        self.tx_numero_cliente.setText(str(busca.num))
        self.tx_bairo_cliente.setText(busca.bairro)
        self.tx_complemento_cliente.setText(busca.comeplemento)
        self.tx_cep_cliente.setText(str(busca.cep))
        self.tx_referencia_cliente.setText(busca.referencia)
        self.tx_cidade_cliente.setText(busca.cidade)
        self.tx_estado_cliente.setCurrentIndex(int(busca.estado))

    def busca_na_tabela(self):
        while self.tabela_clientes.rowCount() > 0:
            self.tabela_clientes.removeRow(0)
        busca = CrudCliente()

        busca.busca_tabela(
            unicode(self.tx_buscar_clientes.text()).encode("utf-8"))

        i = 0
        while i < len(busca.nome_cliente):
            self.tabela_clientes.insertRow(i)
            self.tabela_clientes.setItem(
                i, 0, QtGui.QTableWidgetItem(str(busca.cod_cliente[i])))
            self.tabela_clientes.setItem(
                i, 1, QtGui.QTableWidgetItem(busca.nome_cliente[i]))
            i += 1

        self.tx_buscar_clientes.clear()

    #Janela COnfirmação de Cadastro
    def confirmar_cliente(self):
        Janela = Ui_Dialog()
        Dialog = QtGui.QDialog()
        Janela.setConfirmacao(Dialog)
        Janela.lb_info.setText("Cliente:")
        Janela.lb_titulo_modal.setText("Cadastrar / Atualizar?")
        Janela.lb_descricao.setText(unicode(self.tx_nome_cliente.text()))
        Janela.buttonBox.width()
        Janela.buttonBox.setStyleSheet(
            "color: #FFF; border: 2px solid #0CA3D2; border-radius:10px;"
            "background: #FFF; color: #000; width: 100px; height: 30px")
        QtCore.QObject.connect(Janela.buttonBox, QtCore.SIGNAL("accepted()"),
                               self.cadastrar_cliente)
        Dialog.exec_()

    def cancela_cliente(self):
        for filho in self.ct_clientes.findChildren(QtGui.QLineEdit):
            filho.clear()
        self.tx_cod.clear()

    def cadastrar_cliente(self):
        Cadastro = CrudCliente()
        Cadastro.cod_cliente = str(self.tx_cod.text())
        Cadastro.nome_cliente = unicode(
            self.tx_nome_cliente.text()).encode("utf8")
        Cadastro.sobremone = unicode(
            self.tx_nome_cliente_2.text()).encode("utf8")
        Cadastro.telefone = unicode(
            self.tx_telefone_cliente.text()).encode("utf8")
        Cadastro.cpf = unicode(self.tx_cpf_cliente.text()).encode("utf8")
        Cadastro.endereco = unicode(
            self.tx_endereco_cliente.text()).encode("utf8")
        Cadastro.num = str(self.tx_numero_cliente.text())
        Cadastro.bairro = unicode(self.tx_bairo_cliente.text()).encode("utf8")
        Cadastro.comeplemento = unicode(
            self.tx_complemento_cliente.text()).encode("utf8")
        Cadastro.cep = unicode(self.tx_cep_cliente.text()).encode("utf8")
        Cadastro.referencia = unicode(
            self.tx_referencia_cliente.text()).encode("utf8")
        Cadastro.cidade = unicode(self.tx_cidade_cliente.text()).encode("utf8")
        Cadastro.estado = self.tx_estado_cliente.currentIndex()
        Cadastro.cadastro_cliente()

        for filho in self.ct_clientes.findChildren(QtGui.QLineEdit):
            filho.clear()
        self.tx_cod.clear()
        self.tx_buscar_clientes.clear()
        self.busca_na_tabela()
Example #4
0
    def main_pedidos(self, frame):
        super(MainPedidos, self).setPedidos(frame)
        self.frame_geral_pedido.show()

        # Classes
        self.funcoes = Funcoes()
        self.produtos = CrudProdutos()
        self.produtos.crud_lista_produtos()

        self.pedidos = CrudPedidos()

        # Dasabilitando campos até serem preenchidos outros
        # Busca código e Lupa busca
        self.tx_pedido_cod_produto.setEnabled(True)
        self.bt_pedido_localizar_produto.setEnabled(True)
        self.tx_pedido_quantidade.setEnabled(True)
        self.tx_obs.setReadOnly(False)
        self.temas = ['Homem Aranha', 'Peppa Pig', 'Batman']
        self.tx_tema.addItems(self.temas)

        self.bt_cadastrar_pedido_2.clicked.connect(self.busca_pedidos)

        # Estilo dos Botoes
        self.funcoes.estilo_botao_acao(self.bt_cadastrar_pedido,
                                       self.bt_cancelar_pedido)
        # Localizar CLiente Stilo
        self.bt_pedido_localizar_cliente.setIcon(
            QtGui.QIcon('Images/buscar.png'))
        self.bt_pedido_localizar_cliente.setIconSize(QtCore.QSize(20, 20))
        # Botao Localizar Produto
        self.bt_pedido_localizar_produto.setIcon(
            QtGui.QIcon('Images/buscar.png'))
        self.bt_pedido_localizar_produto.setIconSize(QtCore.QSize(20, 20))
        self.bt_pedido_localizar_produto.clicked.connect(
            self.janela_buscar_produto)
        self.bt_pedido_add_produto.setIcon(QtGui.QIcon('Images/add.png'))
        self.bt_pedido_add_produto.setIconSize(QtCore.QSize(20, 20))
        self.bt_pedido_add_produto.clicked.connect(self.add_produto_tabela)

        # Cadastrar Pedido
        self.bt_cadastrar_pedido.setEnabled(False)
        self.bt_cadastrar_pedido.clicked.connect(self.confirmar_pedido)
        # Cancelar_pedido
        self.bt_cancelar_pedido.setText("Cancelar")
        self.bt_cancelar_pedido.clicked.connect(self.cancelar_cad_pedido)

        # Estilo, acao e comando do Formulário
        # Buscar Cliente
        self.bt_pedido_localizar_cliente.clicked.connect(
            self.janela_busca_cliente)
        # Botao acao
        self.tx_pedido_cod_cliente.returnPressed.connect(
            lambda: self.busca_cliente_cod(self.tx_pedido_cod_cliente.text()))
        # Busca cod produto
        self.tx_pedido_cod_produto.setValidator(QtGui.QIntValidator())
        self.tx_pedido_cod_produto.setReadOnly(False)
        self.tx_pedido_cod_produto.returnPressed.connect(
            lambda: self.localizar_produto_codigo(self.tx_pedido_cod_produto.
                                                  text()))
        # Focus on return pressed
        self.tx_pedido_cod_cliente.setFocus()
        self.tx_pedido_cod_produto.returnPressed.connect(
            lambda: self.foco(self.tx_pedido_quantidade))
        self.tx_pedido_quantidade.returnPressed.connect(
            lambda: self.foco(self.tx_pedido_valor_produto))
        self.tx_pedido_valor_produto.returnPressed.connect(
            lambda: self.foco_combobox(self.tx_tema))
        self.tx_tema.setCurrentIndex(-1)
        self.tx_tema.currentIndexChanged.connect(
            lambda: self.foco(self.tx_obs))
        self.tx_obs.returnPressed.connect(self.add_produto_tabela)
        # Campo id Oculto
        self.id_pedido = QtGui.QLineEdit()
        self.id_pedido.setVisible(False)
        # Campo Status
        self.combo_status_pedido.addItem("Status")
        self.combo_status_pedido.addItems(self.pedidos.combo_status_data())
        self.combo_status_pedido.setCurrentIndex(2)
        self.combo_status_pedido.currentIndexChanged.connect(
            lambda: self.foco(self.tx_pedido_cod_produto))
        # Campo Data Entrega
        self.tx_data_entrega.setDate(QtCore.QDate.currentDate())
        self.tx_data_entrega.dateChanged.connect(
            lambda: self.foco_combobox(self.combo_status_pedido))
        # Calculo saldo devedor
        self.tx_entrada_pedido.returnPressed.connect(self.saldo_devedor)

        # Botao Concluir PEdido
        efeito = QtGui.QGraphicsDropShadowEffect()
        efeito.setColor(QtGui.QColor("#ff00ff"))
        efeito.setOffset(0, 0)
        efeito.setBlurRadius(15)
        self.bt_concluir_pedido.setGraphicsEffect(efeito)
        self.bt_concluir_pedido.setStyleSheet(
            " QPushButton{border-radius: 10px; border: none; background: #00ffff;}"
            "QPushButton:disabled {background: #FFF}"
            "QPushButton:hover {color: #FFF}")

        # Tamanho, acao  e conteudo tabela  produtos pedido
        self.tabela_pedido_add.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.tabela_pedido_add.setColumnWidth(0, 30)
        self.tabela_pedido_add.setColumnWidth(1, 150)
        self.tabela_pedido_add.setColumnWidth(2, 80)
        self.tabela_pedido_add.setColumnWidth(3, 80)
        self.tabela_pedido_add.setColumnWidth(4, 120)
        self.tabela_pedido_add.setColumnWidth(5, 210)
        self.tabela_pedido_add.setColumnWidth(6, 70)
        # Remover item
        self.tabela_pedido_add.cellDoubleClicked.connect(
            self.remover_item_tabela)
Example #5
0
class MainPedidos(Ui_ct_main_pedido):
    def main_pedidos(self, frame):
        super(MainPedidos, self).setPedidos(frame)
        self.frame_geral_pedido.show()

        # Classes
        self.funcoes = Funcoes()
        self.produtos = CrudProdutos()
        self.produtos.crud_lista_produtos()

        self.pedidos = CrudPedidos()

        # Dasabilitando campos até serem preenchidos outros
        # Busca código e Lupa busca
        self.tx_pedido_cod_produto.setEnabled(True)
        self.bt_pedido_localizar_produto.setEnabled(True)
        self.tx_pedido_quantidade.setEnabled(True)
        self.tx_obs.setReadOnly(False)
        self.temas = ['Homem Aranha', 'Peppa Pig', 'Batman']
        self.tx_tema.addItems(self.temas)

        self.bt_cadastrar_pedido_2.clicked.connect(self.busca_pedidos)

        # Estilo dos Botoes
        self.funcoes.estilo_botao_acao(self.bt_cadastrar_pedido,
                                       self.bt_cancelar_pedido)
        # Localizar CLiente Stilo
        self.bt_pedido_localizar_cliente.setIcon(
            QtGui.QIcon('Images/buscar.png'))
        self.bt_pedido_localizar_cliente.setIconSize(QtCore.QSize(20, 20))
        # Botao Localizar Produto
        self.bt_pedido_localizar_produto.setIcon(
            QtGui.QIcon('Images/buscar.png'))
        self.bt_pedido_localizar_produto.setIconSize(QtCore.QSize(20, 20))
        self.bt_pedido_localizar_produto.clicked.connect(
            self.janela_buscar_produto)
        self.bt_pedido_add_produto.setIcon(QtGui.QIcon('Images/add.png'))
        self.bt_pedido_add_produto.setIconSize(QtCore.QSize(20, 20))
        self.bt_pedido_add_produto.clicked.connect(self.add_produto_tabela)

        # Cadastrar Pedido
        self.bt_cadastrar_pedido.setEnabled(False)
        self.bt_cadastrar_pedido.clicked.connect(self.confirmar_pedido)
        # Cancelar_pedido
        self.bt_cancelar_pedido.setText("Cancelar")
        self.bt_cancelar_pedido.clicked.connect(self.cancelar_cad_pedido)

        # Estilo, acao e comando do Formulário
        # Buscar Cliente
        self.bt_pedido_localizar_cliente.clicked.connect(
            self.janela_busca_cliente)
        # Botao acao
        self.tx_pedido_cod_cliente.returnPressed.connect(
            lambda: self.busca_cliente_cod(self.tx_pedido_cod_cliente.text()))
        # Busca cod produto
        self.tx_pedido_cod_produto.setValidator(QtGui.QIntValidator())
        self.tx_pedido_cod_produto.setReadOnly(False)
        self.tx_pedido_cod_produto.returnPressed.connect(
            lambda: self.localizar_produto_codigo(self.tx_pedido_cod_produto.
                                                  text()))
        # Focus on return pressed
        self.tx_pedido_cod_cliente.setFocus()
        self.tx_pedido_cod_produto.returnPressed.connect(
            lambda: self.foco(self.tx_pedido_quantidade))
        self.tx_pedido_quantidade.returnPressed.connect(
            lambda: self.foco(self.tx_pedido_valor_produto))
        self.tx_pedido_valor_produto.returnPressed.connect(
            lambda: self.foco_combobox(self.tx_tema))
        self.tx_tema.setCurrentIndex(-1)
        self.tx_tema.currentIndexChanged.connect(
            lambda: self.foco(self.tx_obs))
        self.tx_obs.returnPressed.connect(self.add_produto_tabela)
        # Campo id Oculto
        self.id_pedido = QtGui.QLineEdit()
        self.id_pedido.setVisible(False)
        # Campo Status
        self.combo_status_pedido.addItem("Status")
        self.combo_status_pedido.addItems(self.pedidos.combo_status_data())
        self.combo_status_pedido.setCurrentIndex(2)
        self.combo_status_pedido.currentIndexChanged.connect(
            lambda: self.foco(self.tx_pedido_cod_produto))
        # Campo Data Entrega
        self.tx_data_entrega.setDate(QtCore.QDate.currentDate())
        self.tx_data_entrega.dateChanged.connect(
            lambda: self.foco_combobox(self.combo_status_pedido))
        # Calculo saldo devedor
        self.tx_entrada_pedido.returnPressed.connect(self.saldo_devedor)

        # Botao Concluir PEdido
        efeito = QtGui.QGraphicsDropShadowEffect()
        efeito.setColor(QtGui.QColor("#ff00ff"))
        efeito.setOffset(0, 0)
        efeito.setBlurRadius(15)
        self.bt_concluir_pedido.setGraphicsEffect(efeito)
        self.bt_concluir_pedido.setStyleSheet(
            " QPushButton{border-radius: 10px; border: none; background: #00ffff;}"
            "QPushButton:disabled {background: #FFF}"
            "QPushButton:hover {color: #FFF}")

        # Tamanho, acao  e conteudo tabela  produtos pedido
        self.tabela_pedido_add.setHorizontalScrollBarPolicy(
            QtCore.Qt.ScrollBarAlwaysOff)
        self.tabela_pedido_add.setColumnWidth(0, 30)
        self.tabela_pedido_add.setColumnWidth(1, 150)
        self.tabela_pedido_add.setColumnWidth(2, 80)
        self.tabela_pedido_add.setColumnWidth(3, 80)
        self.tabela_pedido_add.setColumnWidth(4, 120)
        self.tabela_pedido_add.setColumnWidth(5, 210)
        self.tabela_pedido_add.setColumnWidth(6, 70)
        # Remover item
        self.tabela_pedido_add.cellDoubleClicked.connect(
            self.remover_item_tabela)

    #Janela Buscar cliente
    def janela_busca_cliente(self):
        Dialog = QtGui.QDialog()
        Janela = Ui_DialogBuscarCliente()
        Janela.setBuscarCliente(Dialog)

        # Funcoes da Janela
        # Selecionar CLiente e Fechar
        def selecionar_cliente_popup(row):
            self.tx_pedido_cod_cliente.setText(
                str(Janela.tableWidget.item(row, 0).text()))
            self.tx_pedido_nome_cliente.setText(
                Janela.tableWidget.item(row, 1).text())
            self.tx_pedido_telefone.setText(
                Janela.tableWidget.item(row, 2).text())
            self.bt_pedido_localizar_produto.setEnabled(True)
            self.tx_pedido_cod_produto.setEnabled(True)
            self.tx_data_entrega.setFocus()
            self.tx_data_entrega.selectAll()
            Dialog.close()

        # Buscar Clientes
        def buscar_cliente():
            # Chamando Classe Crud Cliente
            busca_cliente = CrudCliente()
            busca_cliente.busca_tabela(Janela.lineEdit.text())

            #limpando Tabele
            while Janela.tableWidget.rowCount() > 0:
                Janela.tableWidget.removeRow(0)
            i = 0
            while i < len(busca_cliente.nome_cliente):
                Janela.tableWidget.insertRow(i)
                Janela.tableWidget.setItem(
                    i, 0,
                    QtGui.QTableWidgetItem(str(busca_cliente.cod_cliente[i])))
                Janela.tableWidget.setItem(
                    i, 1,
                    QtGui.QTableWidgetItem(busca_cliente.nome_cliente[i]))
                Janela.tableWidget.setItem(
                    i, 2,
                    QtGui.QTableWidgetItem(str(busca_cliente.telefone[i])))
                i += 1

        # Chamando busca_clienter cliente
        Janela.lineEdit.returnPressed.connect(buscar_cliente)
        #Tabela Resultado
        Janela.tableWidget.setColumnWidth(0, 50)
        Janela.tableWidget.setColumnWidth(1, 180)
        Janela.tableWidget.setColumnWidth(2, 100)
        Janela.tableWidget.horizontalHeader().setVisible(False)
        Janela.tableWidget.cellDoubleClicked.connect(selecionar_cliente_popup)
        Dialog.exec_()

    # Busca Cliente cod
    def busca_cliente_cod(self, cod):
        busca_cliente = CrudCliente()
        busca_cliente.buscar_cliente_selecionado(cod)
        self.tx_pedido_cod_cliente.setText(str(busca_cliente.cod_cliente))
        self.tx_pedido_nome_cliente.setText(busca_cliente.nome_cliente)
        self.tx_pedido_telefone.setText(busca_cliente.telefone)
        self.bt_pedido_localizar_produto.setEnabled(True)
        self.tx_pedido_cod_produto.setEnabled(True)
        self.tx_data_entrega.setFocus()
        self.tx_data_entrega.selectAll()

    # Janela Buscar Produto
    def janela_buscar_produto(self):
        Janela = Ui_DialogBuscarProduto()
        Dialog = QtGui.QDialog()
        Janela.setBuscarProduto(Dialog)

        # Funcao Buscar Produto
        def buscar_produto():
            self.produtos.crud_busca_produto(Janela.tx_busca_produto.text())
            i = 0
            while i < len(self.produtos.descricao):
                Janela.table_busca_produto.insertRow(i)
                Janela.table_busca_produto.setItem(
                    i, 0,
                    QtGui.QTableWidgetItem(str(self.produtos.cod_produto[i])))
                Janela.table_busca_produto.setItem(
                    i, 1, QtGui.QTableWidgetItem(self.produtos.descricao[i]))
                Janela.table_busca_produto.setItem(
                    i, 2,
                    QtGui.QTableWidgetItem(
                        format(self.produtos.valor_venda[i], ".2f")))
                i += 1

        def selecionar_produto(row):
            self.localizar_produto_codigo(
                Janela.table_busca_produto.item(row, 0).text())
            self.tx_pedido_cod_produto.setText(
                Janela.table_busca_produto.item(row, 0).text())
            self.tx_pedido_quantidade.setText("1")
            self.bt_pedido_add_produto.setEnabled(True)
            self.tx_pedido_quantidade.setFocus()
            self.tx_pedido_quantidade.selectAll()
            Dialog.close()

        # Campo Buscar produto
        Janela.tx_busca_produto.returnPressed.connect(buscar_produto)
        # Ajustes da Tabela
        Janela.table_busca_produto.setColumnWidth(0, 50)
        Janela.table_busca_produto.setColumnWidth(1, 210)
        Janela.table_busca_produto.setColumnWidth(2, 75)
        Janela.table_busca_produto.cellDoubleClicked.connect(
            selecionar_produto)
        Dialog.exec_()

    def localizar_produto_codigo(self, cod):
        if len(cod) >= 1:
            self.produtos.busca_edicao(cod)
            self.tx_pedido_cod_produto.setText(str(self.produtos.cod_produto))
            self.tx_pedido_produto.setText(self.produtos.descricao)
            self.tx_pedido_valor_produto.setText(
                format(self.produtos.valor_venda, ".2f"))
            self.tx_pedido_quantidade.setText("1")
            self.bt_pedido_add_produto.setEnabled(True)

    def add_produto_tabela(self):
        if len(self.tx_pedido_cod_produto.text()) >= 1:
            self.tabela_pedido_add.insertRow(0)
            self.tabela_pedido_add.setItem(
                0, 0,
                QtGui.QTableWidgetItem(self.tx_pedido_cod_produto.text()))
            self.tabela_pedido_add.setItem(
                0, 1, QtGui.QTableWidgetItem(self.tx_pedido_produto.text()))
            self.tabela_pedido_add.setItem(
                0, 2,
                QtGui.QTableWidgetItem(str(self.tx_pedido_quantidade.text())))
            self.tabela_pedido_add.setItem(
                0, 3,
                QtGui.QTableWidgetItem(str(
                    self.tx_pedido_valor_produto.text())))
            self.tabela_pedido_add.setItem(
                0, 4, QtGui.QTableWidgetItem(self.tx_tema.currentText()))
            self.tabela_pedido_add.setItem(
                0, 5, QtGui.QTableWidgetItem(self.tx_obs.text()))
            total = float(self.tx_pedido_valor_produto.text()) * float(
                self.tx_pedido_quantidade.text())
            total = format(total, ".2f")
            self.tabela_pedido_add.setItem(0, 6,
                                           QtGui.QTableWidgetItem(str(total)))

            self.tx_pedido_cod_produto.clear()
            self.tx_pedido_produto.clear()
            self.tx_pedido_quantidade.clear()
            self.tx_pedido_valor_produto.clear()
            self.tx_tema.setCurrentIndex(-1)
            self.tx_pedido_cod_produto.setFocus()
            self.bt_pedido_add_produto.setEnabled(False)
            self.tx_obs.clear()
            self.soma_total()
            self.bt_cadastrar_pedido.setEnabled(True)

        else:
            self.tx_pedido_cod_produto.setFocus()

    # Soma Total
    def soma_total(self):
        i = 0
        total = 0
        while i < self.tabela_pedido_add.rowCount():
            total = total + float(self.tabela_pedido_add.item(i, 6).text())
            i += 1
        self.tx_total_pedido.setText(format(total, ".2f"))
        self.tx_saldo_devedor_pedido.setText(format(total, ".2f"))

    # Remover Item
    def remover_item_tabela(self, row):
        total = float(self.tx_total_pedido.text()) - float(
            self.tabela_pedido_add.item(row, 6).text())
        self.tx_total_pedido.setText(format(total, ".2f"))
        self.tabela_pedido_add.removeRow(row)

    #Confirmar e Cadastrar Pedido
    def confirmar_pedido(self):
        Janela = Ui_Dialog_pedido()
        Dialog = QtGui.QDialog()
        Janela.setConfPedido(Dialog)
        Janela.tx_data_entrega.setText(
            QtCore.QDate.toString(self.tx_data_entrega.date(), "dd-MM-yyyy"))
        Janela.tx_valor_entrada.setText(self.tx_entrada_pedido.text())
        Janela.tx_saldo_devedor.setText(self.tx_total_pedido.text())

        def cadastrar_pedido():
            cadastro = CrudPedidos()
            cadastro.cod_pedido = unicode(self.id_pedido.text()).encode("utf8")
            cadastro.cliente = unicode(
                self.tx_pedido_cod_cliente.text()).encode("utf8")
            cadastro.data_entrega = QtCore.QDate.toString(
                self.tx_data_entrega.date(), "yyyy-MM-dd")
            cadastro.status_pedido = self.combo_status_pedido.currentIndex()
            cadastro.entrada = unicode(
                self.tx_entrada_pedido.text()).encode("utf8")
            cadastro.saldo_devedor = unicode(
                self.tx_saldo_devedor_pedido.text()).encode("utf8")
            cadastro.valor_total = unicode(
                self.tx_total_pedido.text()).encode("utf8")
            cadastro.cad_pedido()

            # i = 0;
            # while i < self.tabela_pedido_add.rowCount():
            #     x = 0;
            #     for row in range(row)
            #     i += 1
            for row in range(self.tabela_pedido_add.rowCount()):
                cadastro.id_relacao = ""
                cadastro.produto = self.tabela_pedido_add.item(row, 0).text()
                cadastro.qtde = self.tabela_pedido_add.item(row, 2).text()
                cadastro.valor_produto = self.tabela_pedido_add.item(row,
                                                                     3).text()
                cadastro.total_produto = self.tabela_pedido_add.item(row,
                                                                     6).text()
                cadastro.tema = self.tabela_pedido_add.item(row, 4).text()
                cadastro.obs = self.tabela_pedido_add.item(row, 5).text()
                cadastro.cad_pedido_produtos()
            self.cancelar_cad_pedido()

        Janela.bt_ok_pedido.clicked.connect(cadastrar_pedido)
        Dialog.exec_()

    #Cancelar
    def cancelar_cad_pedido(self):
        for filho in self.ct_frame_pedidos.findChildren(QtGui.QLineEdit):
            filho.clear()

        while self.tabela_pedido_add.rowCount() > 0:
            self.tabela_pedido_add.removeRow(0)

    # Funcao foco lineedit
    def foco(self, botao):
        botao.setFocus()
        botao.selectAll()

    def foco_combobox(self, campo):
        campo.setFocus()

    # Buscar Pedidos
    def busca_pedidos(self):

        Dialog = QtGui.QDialog()
        Janela = BuscaPedido()
        Janela.buscaProduos(Dialog)

        def resultado(row):
            # Selecionando Cliente
            self.pedidos.selecionar_pedido(
                Janela.tableWidget.item(row, 0).text())
            self.busca_cliente_cod(self.pedidos.cliente)
            # Limpando Tabela
            while self.tabela_pedido_add.rowCount() > 0:
                self.tabela_pedido_add.removeRow(0)

            i = 0
            while i < len(self.pedidos.produto):
                self.tabela_pedido_add.insertRow(i)
                self.tabela_pedido_add.setItem(
                    i, 0,
                    QtGui.QTableWidgetItem(str(self.pedidos.cod_produto[i])))
                self.tabela_pedido_add.setItem(
                    i, 1, (QtGui.QTableWidgetItem(self.pedidos.produto[i])))
                self.tabela_pedido_add.setItem(
                    i, 2, (QtGui.QTableWidgetItem(str(self.pedidos.qtde[i]))))
                self.tabela_pedido_add.setItem(i, 3, (QtGui.QTableWidgetItem(
                    format(self.pedidos.valor_produto[i], ".2f"))))
                self.tabela_pedido_add.setItem(
                    i, 4, (QtGui.QTableWidgetItem(str(self.pedidos.tema[i]))))
                self.tabela_pedido_add.setItem(
                    i, 5, (QtGui.QTableWidgetItem(self.pedidos.obs[i])))
                self.tabela_pedido_add.setItem(i, 6, (QtGui.QTableWidgetItem(
                    format(self.pedidos.total_produto[i], ".2f"))))

                i += 1
            self.tx_total_pedido.setText(
                format(self.pedidos.valor_total, ".2f"))
            self.tx_saldo_devedor_pedido.setText(
                format(self.pedidos.saldo_devedor, ".2f"))
            self.tx_entrada_pedido.setText(format(self.pedidos.entrada, ".2f"))
            self.bt_cadastrar_pedido.setEnabled(True)

        Janela.tableWidget.cellDoubleClicked.connect(resultado)

        Dialog.exec_()

    # saldo Devedor
    def saldo_devedor(self):
        saldo = float(self.tx_total_pedido.text()) - float(
            self.tx_entrada_pedido.text())
        self.tx_saldo_devedor_pedido.setText(format(saldo, ".2f"))
Example #6
0
    def main_usuarios(self, frame):
        super(MainUsuarios, self).setUsuarios(frame)

        # Classe
        self.funcao = Funcoes()
        self.combobox_status = ListasIndices()
        self.combobox_status.lista_status()
        self.combobox_status.todos_estados()
        self.combobox_status.combobox_nivel()

        # Tamanho, acao  e conteudo da tabela produtos
        self.tabela_usuarios.setColumnWidth(0, 40)
        self.tabela_usuarios.setColumnWidth(1, 250)
        self.tabela_usuarios.horizontalHeader().setResizeMode(
            QtGui.QHeaderView.Fixed)
        self.tabela_usuarios.verticalHeader().setVisible(False)
        # Ação de 2 clickes na tabela
        self.tabela_usuarios.cellDoubleClicked.connect(
            self.selecionar_usuarios)
        # Campo Busca
        self.tx_buscar_usuarios.returnPressed.connect(self.busca_usuarios)
        # Preechendo tabela
        self.add_tabela_usuarios()

        # Campo Oculdo ID usuarios
        self.tx_cod_usuario = QtGui.QLineEdit()
        self.tx_cod_usuario.setHidden(True)

        # Ajustes, Campos e Ações Formulario
        # Combobox Status
        self.tx_status.addItems(self.combobox_status.lst_status)
        self.tx_status.setCurrentIndex(0)
        self.tx_status.setEditable(False)
        # Combobox Estados
        self.tx_estado_usuario.addItems(self.combobox_status.lista_estados)
        self.tx_estado_usuario.setEditable(True)
        self.tx_estado_usuario.setCurrentIndex(18)
        # Combobox Nível
        self.tx_nivel_acesso.addItems(self.combobox_status.lst_nivel)
        # Desabilitando botão cadastro
        self.bt_cadastrar_usuario.setEnabled(False)
        # Funcao Habilitar botão incluir
        self.tx_login.textChanged.connect(self.habilitar)
        self.tx_nome_usuario.textChanged.connect(self.habilitar)

        # Botao cadastrar
        self.bt_cadastrar_usuario.clicked.connect(self.confirmar_usuario)
        # Botao Cancelar
        self.bt_cancelar_.clicked.connect(self.cancelar_cadastro_usuarios)
        # Estilo dos botões
        self.funcao.estilo_botao_acao(self.bt_cadastrar_usuario,
                                      self.bt_cancelar_)
        # Botao Alterar Senha
        self.bt_aterar_senha.setEnabled(False)
        efeito = QtGui.QGraphicsDropShadowEffect()
        efeito.setColor(QtGui.QColor("#ff00ff"))
        efeito.setOffset(0, 0)
        efeito.setBlurRadius(15)
        self.bt_aterar_senha.setGraphicsEffect(efeito)
        self.bt_aterar_senha.setStyleSheet(
            " QPushButton{border-radius: 10px; border: none; background: #00ffff;}"
            "QPushButton:disabled {background: #FFF}"
            "QPushButton:hover {color: #fff}")
        # Acão Botão Alterar Senha
        self.bt_aterar_senha.clicked.connect(self.alterar_senha)
        """ Exbibe o Flame """
        self.ct_frame_usuarios.show()
        """ Fim """
Example #7
0
class MainUsuarios(Ui_FrameUsuarios):
    def main_usuarios(self, frame):
        super(MainUsuarios, self).setUsuarios(frame)

        # Classe
        self.funcao = Funcoes()
        self.combobox_status = ListasIndices()
        self.combobox_status.lista_status()
        self.combobox_status.todos_estados()
        self.combobox_status.combobox_nivel()

        # Tamanho, acao  e conteudo da tabela produtos
        self.tabela_usuarios.setColumnWidth(0, 40)
        self.tabela_usuarios.setColumnWidth(1, 250)
        self.tabela_usuarios.horizontalHeader().setResizeMode(
            QtGui.QHeaderView.Fixed)
        self.tabela_usuarios.verticalHeader().setVisible(False)
        # Ação de 2 clickes na tabela
        self.tabela_usuarios.cellDoubleClicked.connect(
            self.selecionar_usuarios)
        # Campo Busca
        self.tx_buscar_usuarios.returnPressed.connect(self.busca_usuarios)
        # Preechendo tabela
        self.add_tabela_usuarios()

        # Campo Oculdo ID usuarios
        self.tx_cod_usuario = QtGui.QLineEdit()
        self.tx_cod_usuario.setHidden(True)

        # Ajustes, Campos e Ações Formulario
        # Combobox Status
        self.tx_status.addItems(self.combobox_status.lst_status)
        self.tx_status.setCurrentIndex(0)
        self.tx_status.setEditable(False)
        # Combobox Estados
        self.tx_estado_usuario.addItems(self.combobox_status.lista_estados)
        self.tx_estado_usuario.setEditable(True)
        self.tx_estado_usuario.setCurrentIndex(18)
        # Combobox Nível
        self.tx_nivel_acesso.addItems(self.combobox_status.lst_nivel)
        # Desabilitando botão cadastro
        self.bt_cadastrar_usuario.setEnabled(False)
        # Funcao Habilitar botão incluir
        self.tx_login.textChanged.connect(self.habilitar)
        self.tx_nome_usuario.textChanged.connect(self.habilitar)

        # Botao cadastrar
        self.bt_cadastrar_usuario.clicked.connect(self.confirmar_usuario)
        # Botao Cancelar
        self.bt_cancelar_.clicked.connect(self.cancelar_cadastro_usuarios)
        # Estilo dos botões
        self.funcao.estilo_botao_acao(self.bt_cadastrar_usuario,
                                      self.bt_cancelar_)
        # Botao Alterar Senha
        self.bt_aterar_senha.setEnabled(False)
        efeito = QtGui.QGraphicsDropShadowEffect()
        efeito.setColor(QtGui.QColor("#ff00ff"))
        efeito.setOffset(0, 0)
        efeito.setBlurRadius(15)
        self.bt_aterar_senha.setGraphicsEffect(efeito)
        self.bt_aterar_senha.setStyleSheet(
            " QPushButton{border-radius: 10px; border: none; background: #00ffff;}"
            "QPushButton:disabled {background: #FFF}"
            "QPushButton:hover {color: #fff}")
        # Acão Botão Alterar Senha
        self.bt_aterar_senha.clicked.connect(self.alterar_senha)
        """ Exbibe o Flame """
        self.ct_frame_usuarios.show()
        """ Fim """

    def add_tabela_usuarios(self):
        busca = CrudUsuarios()
        busca.crud_tabela_usuarios()
        i = 0
        while i < len(busca.usuario):
            self.tabela_usuarios.insertRow(i)
            self.tabela_usuarios.setItem(
                i, 0, QtGui.QTableWidgetItem(str(busca.id_usuario[i])))
            self.tabela_usuarios.setItem(
                i, 1, QtGui.QTableWidgetItem(busca.usuario[i]))
            i += 1

    def confirmar_usuario(self):
        Janela = Ui_Dialog()
        Dialog = QtGui.QDialog()
        Janela.setConfirmacao(Dialog)
        Janela.lb_info.setText(QtCore.QString.fromUtf8("Usuário"))
        Janela.lb_titulo_modal.setText("Cadastrar / Atualizar?")
        Janela.lb_descricao.setText(unicode(self.tx_nome_usuario.text()))
        Janela.buttonBox.setStyleSheet(
            "color: #FFF; border: 2px solid #0CA3D2; border-radius:10px;"
            "background: #FFF; color: #000; width: 100px; height: 30px")
        QtCore.QObject.connect(Janela.buttonBox, QtCore.SIGNAL("accepted()"),
                               self.cadastrar_usuario)
        Dialog.exec_()

    # Selecionando da tabela
    def selecionar_usuarios(self, row):
        busca = CrudUsuarios()

        busca.buscar_usuarios_selecionado(
            str(self.tabela_usuarios.item(row, 0).text()))
        self.tx_cod_usuario.setText(str(busca.id_usuario))
        self.tx_nome_usuario.setText(busca.nome_usuario)
        self.tx_sobrenome_usuario.setText(busca.sobremone)
        self.tx_cpf_usuario.setText(busca.cpf)
        self.tx_telefone_usuario.setText(busca.telefone)
        self.tx_endereco_usuario.setText(busca.endereco)
        self.tx_numero_endereco_usuario.setText(str(busca.num))
        self.tx_bairo_usuario.setText(busca.bairro)
        self.tx_complemento_usuario.setText(busca.comeplemento)
        self.tx_cep_usuario.setText(str(busca.cep))
        self.tx_referencia_usuario.setText(busca.referencia)
        self.tx_cidade_usuario.setText(busca.cidade)
        self.tx_estado_usuario.setCurrentIndex(int(busca.estado))
        self.tx_login.setText(busca.usuario)
        self.tx_status.setCurrentIndex(busca.status)
        self.tx_nivel_acesso.setCurrentIndex(busca.nivel)

        # Ativando Botão Alterar Senha
        self.bt_aterar_senha.setEnabled(True)

    # Busca Campo pesquisa
    def busca_usuarios(self):
        # self.campo =  self.tx_buscar_produto.text()
        #
        # if len(self.campo) > 3:
        #     print self.tx_buscar_produto.text()
        while self.tabela_usuarios.rowCount() > 0:
            self.tabela_usuarios.removeRow(0)
        busca = CrudUsuarios()
        busca.busca_usuario_tabela(
            unicode(self.tx_buscar_usuarios.text()).encode("utf-8"))

        i = 0
        while i < len(busca.usuario):
            self.tabela_usuarios.insertRow(i)
            self.tabela_usuarios.setItem(
                i, 0, QtGui.QTableWidgetItem(str(busca.id_usuario[i])))
            self.tabela_usuarios.setItem(
                i, 1, QtGui.QTableWidgetItem(busca.usuario[i]))

            i += 1
        self.tx_buscar_usuarios.clear()

    # Habilitar Botao Cadastro
    def habilitar(self, event):
        if len(self.tx_login.text()) > 1 and len(
                self.tx_nome_usuario.text()) > 1:
            self.bt_cadastrar_usuario.setEnabled(True)
        else:
            self.bt_cadastrar_usuario.setEnabled(False)

    # Cadastro de usuário
    def cadastrar_usuario(self):
        cadastro = CrudUsuarios()
        cadastro.id_usuario = unicode(
            self.tx_cod_usuario.text()).encode("utf8")
        cadastro.nome_usuario = unicode(
            self.tx_nome_usuario.text()).encode("utf8")
        cadastro.sobremone = unicode(
            self.tx_sobrenome_usuario.text()).encode("utf8")
        cadastro.telefone = unicode(
            self.tx_telefone_usuario.text()).encode("utf8")
        cadastro.cpf = unicode(self.tx_cpf_usuario.text()).encode("utf8")
        cadastro.endereco = unicode(
            self.tx_endereco_usuario.text()).encode("utf8")
        cadastro.num = self.tx_numero_endereco_usuario.text()
        cadastro.bairro = unicode(self.tx_bairo_usuario.text()).encode("utf8")
        cadastro.comeplemento = unicode(
            self.tx_complemento_usuario.text()).encode("utf8")
        cadastro.cep = unicode(self.tx_cep_usuario.text()).encode("utf8")
        cadastro.referencia = unicode(
            self.tx_referencia_usuario.text()).encode("utf8")
        cadastro.cidade = unicode(self.tx_cidade_usuario.text()).encode("utf8")
        cadastro.estado = self.tx_estado_usuario.currentIndex()
        cadastro.usuario = unicode(self.tx_login.text()).encode("utf8")

        cadastro.nivel = self.tx_nivel_acesso.currentIndex()
        cadastro.status = self.tx_status.currentIndex()
        cadastro.cadastro_usuarios()

        # Limpando e atualizando a tabela
        self.busca_usuarios()
        # Limpando todos os campos
        for filho in self.ct_usuarios.findChildren(QtGui.QLineEdit):
            filho.clear()

        self.tx_estado_usuario.setCurrentIndex(0)
        self.tx_nivel_acesso.setCurrentIndex(0)
        self.tx_status.setCurrentIndex(0)

    # Janela Alterar Senha
    def alterar_senha(self):
        Dialog = QtGui.QDialog()
        PopUp = Ui_Dialog_senha()
        PopUp.setAlterarSenha(Dialog)
        # Desabilitando Botão Ok
        PopUp.bt_dialog_alterar_senha.setEnabled(False)

        # Dasabilitando campos de novas senha até que a senha seja cheacada
        PopUp.tx_senha_antiga_2.setEnabled(False)
        PopUp.tx_senha_antiga_3.setEnabled(False)
        # Estilo do PushButton
        PopUp.pushButton.setStyleSheet(
            "QPushButton {color: #FFF; border: 2px solid #0CA3D2; border-radius:10px;"
            "background: #00ffff; color: #000; width: 100px; height: 30px}"
            "QPushButton:hover{color: #fff; border:2px solid #000 }")

        self.funcao.estilo_botao_acao(PopUp.bt_dialog_alterar_senha,
                                      PopUp.bt_dialog_cancelar)

        # Checando senha antiga
        def checar_senha(senha):
            buscar = CrudUsuarios()
            buscar.verifica_senha(str(self.tx_cod_usuario.text()))
            # Checar Senha Antiga

            if buscar.senha == unicode(PopUp.tx_senha_antiga.text()):

                PopUp.tx_senha_antiga.setStyleSheet(
                    "background-image: url('Images/ok.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )
                PopUp.tx_senha_antiga_2.setEnabled(True)
                PopUp.tx_senha_antiga_3.setEnabled(True)
                PopUp.bt_dialog_alterar_senha.setEnabled(True)

            else:
                PopUp.tx_senha_antiga.setStyleSheet(
                    "background-image: url('Images/no.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )
                PopUp.tx_senha_antiga_2.setEnabled(False)
                PopUp.tx_senha_antiga_3.setEnabled(False)
                PopUp.bt_dialog_alterar_senha.setEnabled(False)

        # Comparando senhas novas digitadas
        def compara_nova_senha(event):
            if PopUp.tx_senha_antiga_3.text() == PopUp.tx_senha_antiga_2.text(
            ):
                PopUp.tx_senha_antiga_2.setStyleSheet(
                    "background-image: url('Images/ok.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )
                PopUp.tx_senha_antiga_3.setStyleSheet(
                    "background-image: url('Images/ok.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )
            else:
                PopUp.tx_senha_antiga_2.setStyleSheet(
                    "background-image: url('Images/no.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )
                PopUp.tx_senha_antiga_3.setStyleSheet(
                    "background-image: url('Images/no.png'); "
                    "background-position: right; background-repeat: no-repeat; "
                    "color: #000; border: 2px solid #0CA3D2; border-radius:10px;"
                )

        # Chamando funcao checa senha on click e return pressed
        PopUp.tx_senha_antiga.returnPressed.connect(
            lambda: checar_senha(PopUp.tx_senha_antiga.text()))
        PopUp.pushButton.clicked.connect(
            lambda: checar_senha(PopUp.tx_senha_antiga.text()))

        # Cancelar e Fechar janela
        def fechar_janela():
            Dialog.close()

        PopUp.bt_dialog_cancelar.clicked.connect(fechar_janela)

        # Alterando a senha no DB
        def altera_senha():
            # Crud
            update = CrudUsuarios()
            update.id_usuario = self.tx_cod_usuario.text()
            update.senha = unicode(
                PopUp.tx_senha_antiga_2.text()).encode("utf8")
            update.alterar_senha()

            #popup Mensagem
            DConfirm = QtGui.QDialog()
            Confirm = Ui_Dialog()
            Confirm.setConfirmacao(DConfirm)
            Confirm.lb_info.setText(QtCore.QString.fromUtf8("Usuário"))
            Confirm.lb_titulo_modal.setText(
                QtCore.QString.fromUtf8("Senha Alterada !"))
            Confirm.lb_descricao.setText(unicode(self.tx_nome_usuario.text()))
            Confirm.buttonBox.setStyleSheet(
                "color: #FFF; border: 2px solid #0CA3D2; border-radius:10px;"
                "background: #FFF; color: #000; width: 100px; height: 30px")
            QtCore.QObject.connect(Confirm.buttonBox,
                                   QtCore.SIGNAL("accepted()"), fechar_janela)
            DConfirm.exec_()

        # Acao botao Alterar senha
        PopUp.bt_dialog_alterar_senha.clicked.connect(altera_senha)
        # Chamando comparador de senha
        PopUp.tx_senha_antiga_3.textChanged.connect(compara_nova_senha)
        # Titulo do Poput
        Dialog.setWindowTitle("Alterar senha")
        # Executando o PoPup
        Dialog.exec_()

    # Fim Janela Altarar senha

    def alteracao_senha(self, senha):
        print senha

    def cancelar_cadastro_usuarios(self):
        for filho in self.ct_usuarios.findChildren(QtGui.QLineEdit):
            filho.clear()
        self.tx_cod_usuario.clear()
        self.tx_estado_usuario.setCurrentIndex(19)
        self.tx_nivel_acesso.setCurrentIndex(1)
        self.tx_status.setCurrentIndex(1)
        self.busca_usuarios()
        self.bt_aterar_senha.setEnabled(False)