• Nenhum resultado encontrado

Ao iniciar o sistema SAVPy, será apresentada uma tela de autenticação para o usuário, onde o mesmo deverá informar o seu nome, senha e tipo de usuário (Figura 14).

Figura 14 - Tela de Validação do Usuário

Caso o usuário seja gerente, ele será encaminhado para a tela específica do gerente onde terá disponível todas as funcionalidades do sistema (Figura 16). Se for vendedor, surgirá outra tela semelhante onde serão restritas algumas funcionalidades, como cadastrar e consultar senhas de gerente e vendedor (Figura 15).

Figura 15 – Tela Principal do Vendedor

Na tela Principal do Gerente (Figura 16), o gerente poderá cadastrar e consultar: senhas, clientes, vendedores, financeiras e realizar vendas e trocas de veículos, podendo também fazer todas as atualizações dos dados cadastrados.

Figura 16 – Tela Principal do Gerente

Somente o gerente poderá usufruir de todas as opções do menu avançado (Figura 17).

Figura 17 – Tela Com as Opções da Aba Avançado.

Na tela Cadastrar Usuário (Figura 18), será permitido que somente o gerente faça o cadastro dos novos usuários para acessar o sistema, onde será informado o nome, senha, confirmação de senha e o status do usuário.

Figura 18 – Tela Cadastrar Usuário

Na tela que realiza a Troca do Usuário Gerente para o Usuário Vendedor (Figura 19), o gerente poderá fazer a troca imediata do seu login para qualquer um dos usuários da categoria vendedor.

Figura 19 – Realiza a Troca do Usuário Gerente para o Usuário Vendedor.

Conforme mostra a Tela de Consultar Senhas (Figura 20), o gerente terá acesso à tela de senhas cadastradas no sistema tanto dos gerentes quanto dos vendedores.

Figura 20 - Tela de Consultar Senhas

Na tela Cadastro de Cliente (Figura 21), os usuários (gerente/vendedor) serão responsáveis pelos cadastros dos clientes no sistema.

Figura 21 – Tela Cadastrar Cliente

Na tela Consultar Cliente (Figura 22), os usuários (gerente/vendedor) poderão realizar consultas de clientes fazendo pesquisas por NOME, CPF, RG e TODOS, daqueles clientes cadastrados no sistema. Podendo também fazer a atualização (Figura 23) e exclusão do cliente.

Figura 22 – Tela Consultar Cliente

Na tela referente a Atualização do Cliente (Figura 23), os usuários (gerente/vendedor) poderão fazer atualizações dos dados do cliente, onde o usuário poderá fazer todas as modificações necessárias.

Figura 23 – Tela de Atualização do Cliente

Na tela de Cadastro de Veículo, os usuários (gerente/vendedores) terão acesso a três abas contendo: a descrição do veículo, a documentação do veículo e o valor do veículo, respectivamente. A Figura 24 encontra-se a aba descrição do veículo cujos campos serão preenchidos por informações referentes às características visuais e não visuais do veículo e também suas condições atuais a fim de melhor descrevê-lo ao sistema.

Figura 24 – Tela Cadastro de Veículo na aba Descrição do Veículo

Na tela Cadastro de Veículo, na aba Documentação do Veículo (Figura 25), os usuários (gerente/vendedor) deverão preencher todos os dados sobre a documentação atual do veículo e qualquer pendência em relação a ele.

Figura 25 – Tela Cadastro do Veículo na Aba Documentação do Veículo

Na tela Cadastro de veículo na Aba Valor do Veículo (Figura 26), os usuários (gerente/vendedor) deverão preencher o valor da compra do veículo, a porcentagem de lucro que a agência deseja obter e os possíveis gastos que tiverem para colocar o veículo em condições para venda. Logo ao salvar, o valor da venda do veículo será calculado e irá automaticamente aparecer na tela de consultar veículo na aba valor do veículo (Figura 29).

Figura 26 - Tela Cadastro do Veículo na Aba Valor do Veículo.

Na tela Consulta de Veículo, os usuários (gerente/vendedor) terão disponíveis três abas de pesquisa: descrição do veículo, a documentação do veículo e o valor do veículo.

Na aba Descrição do Veículo da tela de consulta (Figura 27), pode-se realizar buscas por marca, placa, renavam ou serão apresentados todos os veículos cadastrados no sistema, sendo possível fazer a atualização dos seus dados que estarão divididos por abas.

Figura 27 - Tela Consulta de Veículo da Aba Descrição

A tela Consulta de Veículo da Aba Documentação (Figura 28) apresentará aos usuários (gerente/vendedor) o(s) resultado(s) das informações sobre a documentação do(s) veículo(s), podendo fazer também a atualização de seus dados.

Figura 28 - Tela Consulta de Veículo da Aba Documentação

Na tela Consulta de Veículo da Aba Valor (Figura 29), os usuários (gerente/vendedor) poderão visualizar o(s) resultado(s) do(s) valor(es) correspondente(s) às características do(s) veículo(s), podendo fazer a atualização de seus dados.

Figura 29 - Tela Consulta de Veículo da Aba Valor

Na tela Consultar Histórico de Veículo apresentada na (Figura 30), os usuários (gerente/vendedores) poderão realizar consultas de todos os veículos que passaram pela agência, tendo disponível a opção de pesquisa por categorias de veículo em estoque, vendidos ou trocados.

Figura 30 - Tela Consultar Histórico de Veículo

Na tela Cadastro de Vendedor (Figura 31), o gerente poderá realizar o cadastro dos vendedores da agência.

Figura 31 - Tela Cadastro de Vendedor

Na tela Consulta Vendedor da (Figura 32), o gerente poderá realizar consultas dos vendedores cadastrados no sistema.

Figura 32 - Tela Consultar Vendedor

Na tela Opção de Venda e Troca da (Figura 33), os usuários (gerente/vendedor) deverão fazer a escolha de efetuar uma venda ou uma troca de veículo, onde logo após a escolha aparecerá a tela correspondente ao escolhido.

Figura 33 - Tela da Opção de Venda e Troca.

Na tela Realiza Venda do Veículo apresentada na (Figura 34), os usuários (gerente/vendedor) poderão realizar vendas de veículo, onde deverá selecionar nessa tela o nome referente ao vendedor, o nome do cliente que vai adquirir o veículo, a placa do veículo que será vendido e a forma de pagamento.

Figura 34 - Tela Realiza Venda do Veículo

Na tela Consultar Venda apresentada na (Figura 35), os usuários (gerente/vendedor) poderão usufruir da consulta das vendas realizadas, onde poderá também fazer a atualização e exclusão dos dados.

Figura 35 - Tela Consultar Venda

Na tela Realiza Troca do Veículo apresentada na (Figura 36), os usuários (gerente/vendedor) poderão realizar uma troca de um veículo escolhido pelo cliente. O usuário do sistema deverá selecionar o nome do vendedor que realizou a troca, o nome do cliente e a placa do veículo que será trocado, preenchendo também os dados do veículo que será substituído pelo da agência.

Figura 36 - Tela Realiza Troca do Veículo

Na tela Consultar Troca do Veículo apresentada na (Figura 37), os usuários (gerente/vendedor) poderão usufruir da consulta das trocas realizadas, onde poderá também fazer a atualização e exclusão dos dados.

Figura 37 - Tela Consultar Troca Veículo

Na tela Cadastrar Financeira da (Figura 38), os usuários (gerente/vendedor) serão responsáveis pelo cadastro das financeiras que terão vínculo com a agência.

Figura 38 – Tela Cadastrar Financeira

Na tela Consultar Financeira apresentada na (Figura 39), os usuários (gerente/vendedor) poderão realizar consultas das financeiras cadastradas no sistema.

Podendo também fazer atualizações e exclusões.

Figura 39 - Tela Consultar Financeira

3.5 - Demonstração do DER (Diagrama Entidade Relacionamento) no Sistema SAVPy.

Diagrama de documentação responsável por mostrar de maneira gráfica os relacionamentos entre as entidades do banco de dados.

Figura 40 – Diagrama Entidade Relacionamento.

CONCLUSÃO

Nos dias atuais, o Desenvolvimento de Software é de grande importância para as empresas, uma vez que traz grandes benefícios e aumenta consideravelmente o desempenho e a agilidade para manter bons negócios em um mercado cada vez mais competitivo e geralmente desigual. Atualmente, a tecnologia pode ser o grande diferencial para o sucesso de uma empresa.

O SAVPy é um software que contribui para a execução das principais atividades de uma agência de veículos organizando as tarefas necessárias para a venda e troca dos mesmos veículo. A rapidez na pesquisa e a capacidade de monitoramento da frota em estoque ajudarão a aumentar a organização de uma agência que tenha este programa.

O aprendizado das potencialidades da linguagem Python também foi objetivo deste trabalho. Neste sentido, a elaboração do sistema para uso desktop foi bastante satisfatória, pois foram utilizadas as bibliotecas GTK+, PyGTK, PyCAIRO, PyGOBJECT, LibGlade e as tecnologias Eclipse, Glade, MySQL e JUDE, agregando bastante conhecimento ao grupo de desenvolvedores.

Como trabalhos futuros, poderão ser feitas alterações que ampliem as funcionalidades da aplicação, principalmente no que diz respeito a disponibilidade da mesma através da web, podendo desta forma prover novos serviços como publicação de ofertas, reservas de veículos pelo usuário, armazenamento de interesses do usuário para futuro contato, dentre outras funcionalidades on-line.

O projeto é um convite para que outros desenvolvedores interessados na área de programação que conheçam ou não o Python, possam utilizar partes do código ou o projeto inteiro como base para outros softwares. O sistema está disponibilizado sob a licença GPL no repositório GitHub ([email protected]:brunonunes/SAVPY.git) visando novas contribuições e servindo de apoio para futuros desenvolvimentos.

REFERÊNCIAS BIBLIOGRÁFICAS

ANDRADE, Douglas Soares de. Conectividade do MySQL com Python, 2002. Disponível em:

<http://www.python.org.br/wiki/DocumentacaoPython?action=AttachFile&do=get&target=m ysqlcompython.pdf>. Acesso em 03/11/2009

BEAZLEY David, Aprenda a Pensar Como um Programador com Python, 2002.

BORGES, Luiz Eduardo. Python para desenvolvedores. 1ª edição. Rio de Janeiro, 2009.

CHAVES, Thiago. IDE – Eclipse, 2007 . Disponível em:

< http://www.thiagochaves.eti.br/wordpress/?p=11>. Acesso em 30/09/2009.

CREATING a GUI using PyGTK and Glade, 2006. Disponível em:

<http://www.learningpython.com/2006/05/07/creating-a-gui-using-pygtk-and-glade/ >

Acessado em: 28/ 03/ 2009

DUQUE, Raúl González. Python para todos 2.5, 3ª edição, Espanha, 2010.

GLADE - A User Interface Designer. What is Glade?, 2009. Disponível em:

<http://glade.gnome.org/> Acessado em: 22/ 10 / 2009

JUNIOR, Fred Cox. Programando para Web Php/ Mysql - 2ª edição. 2001 LABAKI, Josué, Introdução ao Python - Módulo A. Disponível em:

<http://www.python.org.br/wiki/DocumentacaoPython?action=AttachFile&do=get&target=m aterial2.pdf>. Acesso em 06/07/2009

LIRA, Marcelo. Mantendo a Sanidade com o Glade, 2009. Disponível em:

<http://www.cin.ufpe.br/~cinlug/wiki/index.php/Mantendo_A_Sanidade_Com_O_Glade>.

Acessado em: 25/ 05/2009

MELONFIRE, Icarus. MySQL Connectivity With Python, 2002. Disponível em: <

http://www.devshed.com/c/a/Python/MySQL-Connectivity-With-Python/ >. Acesso em 03/02/2010.

RICARTE, Ivan Luiz Marques. Introdução a Orientação a Objetos, 2001. Disponível em:

Acesso em: 15/02/2009

ROSSUM, Guido van. Tutorial Python, 2005.

THE GTK+ Project. What is GTK+?, 2007. Disponível em: <http://www.gtk.org/>

Acessado em : 15/06/2009

WIKI. Guia Rápido de PyGTK, 2008. Disponível em:

<http://wiki.laptop.org/go/Guia_Rapido_de_PyGTK> . Acessado em: 20/03/2009

APÊNDICE

Segue abaixo os códigos referente a algumas classes do sistema SAVPy.

Código da Tela Principal do Gerente.

# -*- coding: utf-8 -*- '''

Created on 23/07/2009

@author: Gustavo, Bruno, Eduardo '''

#importando as bibliotecas e as classes necessárias para o funcionamento da tela

import sys try:

import gtk.glade import datetime import pygtk import gtk

from CadastrarCliente import * from ConsultarCliente import * from CadastrarVeiculo import * from ConsultarVeiculo import * from CadastrarVendedor import * from ConsultarVendedor import*

from CadastroUsuario import * from Sobre import *

from CadastrarFinanceira import * from ConsultarFinanceira import * from CadastrarVenda import * from PermissaoUsuario import * from LoggofUsuario import *

from ConsultarSenhaGerente import * from ConsultarHistoricoVeiculo import * from ConsultarVendaTroca import *

except :

print ' Erro Ao Carregar o Import da classe principal gerente' sys.exit(1)

class TelaPrincipalGerente(object):

'''

Esta é a classe que gera a Janela Principal do Gerente '''

def __init__(self):

'''

Método construtor da classe '''

# Armazena o endereço de onde foi salva a interface

self.arquivoglade="Projects\principal_gerente.glade"

#Carrega a interface a partir do arquivo Glade self.xml = gtk.glade.XML(self.arquivoglade) #Associa os widgtes as variáveis

self.principal_gerente = self.xml.get_widget('principal_gerente') self.image1=self.xml.get_widget('image1')

self.data = self.xml.get_widget('statusbar') self.labelHora = self.xml.get_widget("labelHora") # Um temporizador para manter a hora atualizada self.timer = gobject.timeout_add(1000,self.on_timer) # Muda a fonte do rotulo

self.labelHora.modify_font(pango.FontDescription('verdana 15')) #conecta os sinais aos callback

self.xml.signal_autoconnect(self)

#inseri a imagem na tela

self.image1.set_from_file('Civic.jpg')

#inserir um icone no canto direito do informando que o software

# esta em funcionamento self.statusIcon = gtk.StatusIcon()

self.statusIcon.set_from_file( "sav.jpg") self.statusIcon.set_visible(True)

# exibe todos a interface

self.principal_gerente.show_all()

# inicia o Loop principal de evento do GTK gtk.main()

#CALLBACKS

def on_timer(self):

# Pega a hora do sistema

hora = datetime.datetime.now().time().isoformat().split('.')[0]

# Muda o texto do Label

self.labelHora.set_text(hora)

# Pega a data do sistema em formato ISO

data = datetime.datetime.now().date().isoformat()

data = ' ' + '/'.join(data.split('-')[::-1])

# Coloca a data na barra de status self.data.push(0, data)

# Faz o temporiador rodar de novo

return True

def on_sair_activate (self,widget):

# fecha a tela principal gerente self.principal_gerente.hide()

#limpa o ícone savpy no canto direito do pc self.statusIcon = ''

# sai do loop principal de evento, finalizando o programa gtk.main_quit()

def on_cadastrar_cliente_activate(self,widget):

cadasc=CadastrarCliente()

def on_consultar_cliente_activate(self,widget):

consulc=ConsultarCliente()

def on_cadastrar_veiculo_activate(self,widget):

cadasv=CadastrarVeiculo()

def on_consultar_veiculo_activate(self,widget):

consulv=ConsultarVeiculo()

def on_cadastrar_usuario_activate(self,widget):

cu=CadastroUsuario()

def on_permissao_usuario_activate(self,widget):

msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, 'Deseja Fazer a Troca de Usuario ?')

msg.set_position(gtk.WIN_POS_CENTER) resposta = msg.run()

if resposta == gtk.RESPONSE_YES:

self.principal_gerente.destroy() msg.destroy()

def on_trocar_usuario_activate(self,widget):

msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_QUESTION, gtk.BUTTONS_YES_NO, 'Deseja Fazer a Troca de Usuario ?')

msg.set_position(gtk.WIN_POS_CENTER) resposta = msg.run()

if resposta == gtk.RESPONSE_YES:

self.principal_gerente.destroy() msg.destroy()

t=LoggofUsuario() msg.destroy()

def on_cadastrar_vendedor_activate(self,widget):

cadasvend=CadastrarVendedor()

def on_consultar_vendedor_activate(self,widget):

consulvend=ConsultarVendedor()

def on_sobre_activate(self,widget):

s=Sobre()

def on_cadastrar_financeira_activate(self,widget):

cf=CadastrarFinanceira()

def on_consultar_financeira_activate(self,widget):

cof=ConsultarFinanceira()

def on_cadastrar_venda_activate(self,widget):

cvr=CadastrarVenda()

def on_consultar_senha_gerente_activate(self,widget):

csg=ConsultarSenhaGerente()

def on_consultar_historico_veiculo_activate(self,widget):

csg=ConsultarHistoricoVeiculo()

def on_consultar_venda_activate(self,widget):

cvt=ConsultarVendaTroca()

def on_principal_gerente_destroy(self,*args):

self.statusIcon = '' gtk.main_quit()

# Inicia a Aplicação if __name__ == '__main__':

t= TelaPrincipalGerente()

Código da Tela Cadastrar Cliente.

# -*- coding: utf-8 -*- '''

Created on 10/08/2009

@author: Luís Gustavo, Bruno, Eduardo '''

#importando as bibliotecas e as classes necessárias para o devido funcionamento

import sys try:

import datetime import pygtk

pygtk.require('2.0') import gtk

import gtk.glade import MySQLdb import os.path except:

print ' Erro Ao Carregar o Import da Classe Cadastrar Cliente' sys.exit(1)

class CadastrarCliente(object):

def __init__(self):

"""

Método Construtor da classe """

# setando as variaveis para acessar o banco de dados self.host= "localhost"

self.user= "root"

self.passwd= "carros"

self.database ="agencia"

#Armazena o endereço de onde foi salva a interface self.arquivoglade = "Projects\cadastro_cliente.glade"

#Carrega a interface a partir do arquivo glade self.xml = gtk.glade.XML(self.arquivoglade) ##Associa os widgets as variaveis

self.cadastro_cliente=self.xml.get_widget('cadastro_cliente') self.entryCodigo=self.xml.get_widget('entryCodigo')

self.entryNome=self.xml.get_widget('entryNome')

self.comboEstadoCivil=self.xml.get_widget('comboEstadoCivil') self.entryEndereco=self.xml.get_widget('entryEndereco')

self.entryNumero=self.xml.get_widget('entryNumero') self.entryBairro=self.xml.get_widget('entryBairro') self.entryCidade=self.xml.get_widget('entryCidade') self.entryCep=self.xml.get_widget('entryCep')

self.comboUf=self.xml.get_widget('comboUf')

self.entryEmail=self.xml.get_widget('entryEmail') self.entryCpf=self.xml.get_widget('entryCpf') self.entryRg=self.xml.get_widget('entryRg')

self.entryDataNascimento=self.xml.get_widget('entryDataNascimento') self.entryResidencial=self.xml.get_widget('entryResidencial')

self.entryComercial=self.xml.get_widget('entryComercial')

self.entryCelular=self.xml.get_widget('entryCelular') self.entryRamalComercial=self.xml.get_widget('entryRamalComercial') self.entryDddResidencial=self.xml.get_widget('entryDddResidencial') self.entryDddComercial=self.xml.get_widget('entryDddComercial') self.entryDddCelular=self.xml.get_widget('entryDddCelular') self.entryBanco=self.xml.get_widget('entryBanco')

self.entryAgencia=self.xml.get_widget('entryAgencia') self.entryTipoConta=self.xml.get_widget('entryTipoConta') self.entryNumeroConta=self.xml.get_widget('entryNumeroConta') self.buttonSalvar= self.xml.get_widget('buttonSalvar')

self.buttonFechar=self.xml.get_widget('buttonFechar') #mantem o foco do combobox no primeiro item

self.comboEstadoCivil.set_active(0) self.comboUf.set_active(0)

#conectando os sinais aos callback self.xml.signal_autoconnect(self)

#exibe todo interface gráfica self.cadastro_cliente.show_all()

#inicia o loop principal gtk.main()

#Callback

def on_buttonSalvar_clicked (self,widget):

#verifica se a caixa de texto esta vazia se sim aparece uma mensagem dizendo para preencher

if (self.entryNome.props.text == "" or

self.entryEndereco.props.text == "" or self.entryNumero.props.text=="" or self.entryBairro.props.text == "" or self.entryCidade.props.text == "" or self.entryCep.props.text == "" or self.entryCpf.props.text == "" or

self.entryRg.props.text == "" or self.entryDataNascimento.props.text == ""

or self.entryDddResidencial.props.text=="" or self.entryResidencial.props.text=="" ):

#caixa de dialogo

msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, 'Por favor preencha os campos Marcado com *') resposta=msg.run()

msg.destroy()

else:

#pegando o que foi digitado ou selecionado e armazena nas variáveis

nome = self.entryNome.props.text

estadocivil=self.comboEstadoCivil.get_active_text() endereco= self.entryEndereco.props.text

numero= self.entryNumero.props.text bairro= self.entryBairro.props.text cidade= self.entryCidade.props.text cep= self.entryCep.props.text

uf=self.comboUf.get_active_text() email=self.entryEmail.props.text cpf= self.entryCpf.props.text rg=self.entryRg.props.text

nascimento= self.entryDataNascimento.props.text dddresidencial=self.entryDddResidencial.props.text dddcomercial=self.entryDddComercial.props.text dddcelular=self.entryDddCelular.props.text residencial=self.entryResidencial.props.text comercial=self.entryComercial.props.text celular=self.entryCelular.props.text

ramalresidencial=self.entryRamalResidencial.props.text ramalcomercial=self.entryRamalComercial.props.text banco=self.entryBanco.props.text

agencia=self.entryAgencia.props.text

numeroconta=self.entryNumeroConta.props.text tipoconta=self.entryTipoConta.props.text

data1 = datetime.datetime.now().date().isoformat() data= '/'.join(data1.split('-')[::-1])

#" Limpando os campos "

self.entryNome.props.text = ""

self.comboEstadoCivil.set_active(0) self.entryEndereco.props.text = ""

self.entryNumero.props.text = ""

self.entryBairro.props.text = ""

self.entryCidade.props.text = ""

self.entryCep.props.text = ""

self.comboUf.set_active(0) self.entryEmail.props.text = ""

self.entryCpf.props.text = ""

self.entryRg.props.text = ""

self.entryDataNascimento.props.text = ""

self.entryDddResidencial.props.text = ""

self.entryDddComercial.props.text = ""

self.entryDddCelular.props.text = ""

self.entryResidencial.props.text = ""

self.entryComercial.props.text = ""

self.entryCelular.props.text = ""

self.entryRamalResidencial.props.text = ""

self.entryRamalComercial.props.text = ""

self.entryBanco.props.text = ""

self.entryAgencia.props.text = ""

self.entryNumeroConta.props.text = ""

self.entryTipoConta.props.text = ""

#gravando dados no Banco

sql = "insert into cliente(nome,estadocivil, endereco, numero, bairro, cidade, cep,uf, email, cpf, rg, nascimento, dddresidencial,

residencial, ramalresidencial, dddcomercial, comercial, ramalcomercial, dddcelular, celular, banco, agencia,numeroconta, tipoconta,data) values('"

+ nome.upper() + "','" + estadocivil.upper() + "', '" + endereco.upper() +

"', '" + numero + "','" + bairro.upper() + "', '" + cidade.upper() + "', '" + cep + "','" + uf + "','" + email + "', '" + cpf + "', '" + rg + "','"

+ nascimento + "', '" + dddresidencial + "','" + residencial + "','" + ramalresidencial + "', '" + dddcomercial+ "','" + comercial + "','" + ramalcomercial + "','" + dddcelular + "','" + celular + "','" +

banco.upper() + "','" + agencia + "','" + numeroconta + "','" + tipoconta.upper() + "','" + data + "' )"

#fazendo a conexão com o Banco

self.conexao=MySQLdb.connect(self.host,self.user,self.passwd,se lf.database)

self.cursor = self.conexao.cursor()# Criando um Cursor self.cursor.execute(sql) # Executa o SQL

self.conexao.commit()# envia tudo para o Banco

msg = gtk.MessageDialog(None, 0, gtk.MESSAGE_INFO, gtk.BUTTONS_OK, 'Cadastrado Com Sucesso')

msg.run() msg.destroy()

def on_buttonFechar_clicked (self,widget):

#fecha a janela cadastro de cliente ao clicar no botão fechar self.cadastro_cliente.hide()

#Sai do loop principal de eventos, finalizando o programa gtk.main_quit()

def on_cadastro_cliente_destroy(self,*args):

#Sai do loop principal de eventos, finalizando o programa gtk.main_quit()

# Inicia a Aplicação if __name__ == '__main__':

cc = CadastrarCliente()

Código da Tela Consultar Cliente.

# -*- coding: utf-8 -*- '''

Created on 23/07/2009

@author: Gustavo, Bruno, Eduardo '''

#importando as bibliotecas, o módulo e a classe necessária para o funcionamento

import sys try:

import pygtk

pygtk.require('2.0') import gtk

import gtk.glade import MySQLdb import datetime

from CadastrarCliente import * except:

print ' Erro Ao Carregar o Import da Classe Consultar Cliente' sys.exit(1)

class ConsultarCliente(object):

def __init__(self):

self.host= "localhost"

self.user= "root"

self.passwd= "carros"

Documentos relacionados