Skip to content

Commit 74b8ade

Browse files
committed
Corrigindo erros de gravação de dados
1 parent d6f5ccf commit 74b8ade

4 files changed

Lines changed: 61 additions & 15 deletions

File tree

pyQt4/Clientes.db

0 Bytes
Binary file not shown.

pyQt4/FrmCadCliente.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ def __init__(self,parent=None):
1212

1313
self.frmCadClienteCreate()
1414

15+
# Criando um objeto cliente DB para que fique a disposição para interagir com o
16+
# módulo de acesso a dados
17+
self.clientedb = ClientesDb()
18+
1519
# abre o formulario FrmPesquisaCliente
1620
self.btnPesquisar.clicked.connect(self.AbrePesquisa)
1721
self.btnSalvar.clicked.connect(self.Salvar)
@@ -71,17 +75,17 @@ def Salvar(self):
7175
msg = MessageBox()
7276
msg.critical(self, 'Cadastro de clientes', 'Ocorreu o seguinte erro ao tentar inserir o cliente: \n ' + str(e), MessageBox.Ok)
7377

74-
def __inserir(self, id, cpf, nome, email, fone, uf):
78+
def __inserir(self, id, nome, cpf, email, fone, uf):
7579
'''Método cria um objeto cliente do modulo de acesso a dados, e inclui um novo cliente no banco'''
76-
self.clientedb.Salvar(id, cpf, nome, email, fone, uf)
80+
self.clientedb.Salvar(id, nome, cpf, email, fone, uf)
7781

7882
def __Excluir(self, pId):
7983
try:
8084
codigo = int(self.txtCodigo.text())
8185
self.clientedb.Excluir(codigo)
8286
except Exception, e:
8387
msg = MessageBox()
84-
msg.critical(self, 'Cadastro de clientes', 'Ocorreu o seguinte erro ao tentar excluir: \n ' + str(e).decode('utf8', MessageBox.Ok)
88+
msg.critical(self, 'Cadastro de clientes', 'Ocorreu o seguinte erro ao tentar excluir: \n ' + str(e).decode('utf8'), MessageBox.Ok)
8589

8690
if __name__ == '__main__':
8791
import sys

pyQt4/FrmCadDefault.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,15 @@ def frmCadDefaultCreate(self):
3232
# Botoes
3333
self.btnNovo=Botao('&Novo',self)
3434
self.btnSalvar=Botao('&Salvar',self)
35+
self.btnExcluir=Botao('&Excluir',self)
3536
self.btnPesquisar=Botao('&Pesquisar',self)
3637
self.btnImprimir=Botao('&Imprimir',self)
3738

3839
hboxBotoes=LayoutHorizontal()
3940
hboxBotoes.addStretch(2)
4041
hboxBotoes.addWidget(self.btnNovo)
4142
hboxBotoes.addWidget(self.btnSalvar)
43+
hboxBotoes.addWidget(self.btnExcluir)
4244
hboxBotoes.addWidget(self.btnPesquisar)
4345
hboxBotoes.addWidget(self.btnImprimir)
4446

pyQt4/FrmPesquisaCliente.py

Lines changed: 52 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def __init__(self,parent=None):
1717

1818
def frmPesquisaClienteCreate(self):
1919
self.setWindowTitle(u'Pesquisa de clientes')
20-
self.resize(450,300)
20+
self.setMinimumSize(900,350)
2121

2222
self.layoutPrincipal=LayoutVertical()
2323

@@ -27,32 +27,40 @@ def frmPesquisaClienteCreate(self):
2727
self.btnBuscar = Botao('&Buscar', self)
2828

2929
hboxBusca=LayoutHorizontal()
30+
self.CenterOnScreen()
3031
hboxBusca.addWidget(self.lblBusca)
3132
hboxBusca.addWidget(self.txtBusca)
3233
hboxBusca.addWidget(self.btnBuscar)
3334

3435
self.layoutPrincipal.addLayout(hboxBusca)
3536

3637
# criando o grid da pesquisa
37-
cabecalho_grid=[u'Código', 'Nome', 'email', 'UF']
38+
cabecalho_grid=[u'Código', 'Nome','CPF', 'email', 'Fone', 'UF']
3839
self.grdPesquisaCliente=Grid(self,0,len(cabecalho_grid))
3940
self.grdPesquisaCliente.setHorizontalHeaderLabels(cabecalho_grid)
4041

4142
# desativando edição do grid de pesquisa
4243
self.grdPesquisaCliente.setEditTriggers(QAbstractItemView.NoEditTriggers)
4344

4445
# redimensionando as colunas do grid
45-
self.grdPesquisaCliente.setColumnWidth(1,300)
46+
self.grdPesquisaCliente.setColumnWidth(1,270)
4647
self.grdPesquisaCliente.setColumnWidth(2,200)
4748

49+
# botao ListarTodos
50+
self.btnListarTodos=Botao('&Listar todos',self)
51+
self.btnListarTodos.clicked.connect(self.ListarTodosClientes)
4852

4953
# botao fechar
5054
self.btnFechar=Botao('&Fechar',self)
5155
self.btnFechar.clicked.connect(self.close)
5256

53-
self.layoutPrincipal.addWidget(self.grdPesquisaCliente)
54-
self.layoutPrincipal.addWidget(self.btnFechar)
57+
# Layout horizontal inferior
58+
hboxFechar=LayoutHorizontal()
59+
hboxFechar.addWidget(self.btnListarTodos)
60+
hboxFechar.addWidget(self.btnFechar)
5561

62+
self.layoutPrincipal.addWidget(self.grdPesquisaCliente)
63+
self.layoutPrincipal.addLayout(hboxFechar)
5664
self.setLayout(self.layoutPrincipal)
5765

5866
def PesquisarCliente(self, e):
@@ -70,25 +78,57 @@ def PesquisarCliente(self, e):
7078
# capturando os dados da tupla
7179
id_cliente = cliente[0]
7280
Nome_cliente = cliente[1]
73-
Email_cliente = cliente[2]
74-
UF_cliente = cliente[3]
81+
CPF_cliente = cliente[2]
82+
Email_cliente = cliente[3]
83+
Fone_cliente = cliente[4]
84+
UF_cliente = cliente[5]
85+
86+
# preenche o grid de pesquisa
87+
self.grdPesquisaCliente.setItem(linha, 0, QTableWidgetItem(id_cliente))
88+
self.grdPesquisaCliente.setItem(linha, 1, QTableWidgetItem(Nome_cliente))
89+
self.grdPesquisaCliente.setItem(linha, 2, QTableWidgetItem(CPF_cliente))
90+
self.grdPesquisaCliente.setItem(linha, 3, QTableWidgetItem(Email_cliente))
91+
self.grdPesquisaCliente.setItem(linha, 4, QTableWidgetItem(Fone_cliente))
92+
self.grdPesquisaCliente.setItem(linha, 5, QTableWidgetItem(UF_cliente))
93+
94+
linha += 1
95+
96+
def ListarTodosClientes(self):
97+
'''Método lista todos registros do banco de dados'''
98+
lista_dados_cliente = self.clientedb.ConsultaTodosClientes()
99+
100+
# setando no grid a quant de linhas, com a mesma quant de registros da lista
101+
quant_registros = len(lista_dados_cliente)
102+
self.grdPesquisaCliente.setRowCount(quant_registros)
103+
104+
linha = 0
105+
for cliente in lista_dados_cliente:
106+
# capturando os dados da tupla
107+
id_cliente = cliente[0]
108+
Nome_cliente = cliente[1]
109+
CPF_cliente = cliente[2]
110+
Email_cliente = cliente[3]
111+
Fone_cliente = cliente[4]
112+
UF_cliente = cliente[5]
75113

76114
# preenche o grid de pesquisa
77115
self.grdPesquisaCliente.setItem(linha, 0, QTableWidgetItem(id_cliente))
78116
self.grdPesquisaCliente.setItem(linha, 1, QTableWidgetItem(Nome_cliente))
79-
self.grdPesquisaCliente.setItem(linha, 2, QTableWidgetItem(Email_cliente))
80-
self.grdPesquisaCliente.setItem(linha, 3, QTableWidgetItem(UF_cliente))
117+
self.grdPesquisaCliente.setItem(linha, 2, QTableWidgetItem(CPF_cliente))
118+
self.grdPesquisaCliente.setItem(linha, 3, QTableWidgetItem(Email_cliente))
119+
self.grdPesquisaCliente.setItem(linha, 4, QTableWidgetItem(Fone_cliente))
120+
self.grdPesquisaCliente.setItem(linha, 5, QTableWidgetItem(UF_cliente))
81121

82122
linha += 1
83123

84-
def centerOnScreen(self):
124+
def CenterOnScreen(self):
85125
resolucao = QDesktopWidget().screenGeometry()
86126
self.move((resolucao.width()/2) - (self.frameSize().width()/2),
87-
(resolucao.height()/2) - (self.frameSize().height()/2))
127+
(resolucao.height()/2) - (self.frameSize().height()/2))
88128

89129
if __name__ == '__main__':
90130
import sys
91131
root = QApplication(sys.argv)
92-
app = FrmPesquisaCliente(None)
132+
app = FrmPesquisaCliente()
93133
app.show()
94134
root.exec_()

0 commit comments

Comments
 (0)