@@ -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
89129if __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