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