Consulta de CEP em Python com PySimpleGUI – PARTE 1

Posted by


Introdução:
Neste tutorial abordaremos como fazer uma consulta de CEP em Python utilizando a biblioteca PySimpleGUI. Esta biblioteca é uma opção popular para criar interfaces gráficas de forma simples e rápida. Iremos dividir este tutorial em duas partes, onde na primeira parte iremos abordar a criação da interface gráfica e na segunda parte iremos implementar a funcionalidade de consulta de CEP.

Passo 1: Instalando o PySimpleGUI
Antes de começarmos, é importante garantir que você tenha o PySimpleGUI instalado em seu ambiente Python. Caso ainda não tenha instalado, você pode fazer isso utilizando o comando abaixo:

pip install PySimpleGUI

Passo 2: Criando a interface gráfica
Agora que temos o PySimpleGUI instalado, podemos começar a criar a interface gráfica para nossa aplicação de consulta de CEP. Abaixo está um exemplo simples de código para criar a janela principal da aplicação:

import PySimpleGUI as sg

layout = [[sg.Text('Informe o CEP que deseja consultar:')],
          [sg.InputText()],
          [sg.Button('Consultar'), sg.Button('Sair')]]

window = sg.Window('Consulta CEP', layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Sair':
        break

window.close()

Neste código, estamos criando uma janela com um campo de entrada para o usuário inserir o CEP que deseja consultar, e dois botões – um para realizar a consulta e outro para fechar a janela.

Passo 3: Adicionando a funcionalidade de consulta
Agora que temos a interface gráfica criada, podemos adicionar a funcionalidade de consulta de CEP. Para isso, iremos utilizar a biblioteca requests para fazer a requisição à API de consulta de CEP. Abaixo está um exemplo de como podemos adicionar essa funcionalidade ao nosso código:

import requests

def consulta_cep(cep):
    url = f'https://viacep.com.br/ws/{cep}/json/'
    response = requests.get(url)
    return response.json()

layout = [[sg.Text('Informe o CEP que deseja consultar:')],
          [sg.InputText(key='cep')],
          [sg.Button('Consultar'), sg.Button('Sair')],
          [sg.Multiline(size=(40, 10), key='output')]]

window = sg.Window('Consulta CEP', layout)

while True:
    event, values = window.read()
    if event == sg.WIN_CLOSED or event == 'Sair':
        break
    if event == 'Consultar':
        cep = values['cep']
        result = consulta_cep(cep)
        output = f"CEP: {result['cep']}n"
        output += f"Endereço: {result['logradouro']}n"
        output += f"Bairro: {result['bairro']}n"
        output += f"Cidade: {result['localidade']}n"
        output += f"Estado: {result['uf']}n"
        window['output'].update(output)

window.close()

Neste código, criamos uma função consulta_cep que faz a requisição à API do ViaCEP para consultar o CEP informado pelo usuário. Em seguida, quando o botão ‘Consultar’ é clicado, a função consulta_cep é chamada e as informações do CEP são exibidas na janela da aplicação.

Conclusão:
Neste tutorial, aprendemos como criar uma aplicação em Python utilizando a biblioteca PySimpleGUI para consultar informações de um CEP. Na parte 1, focamos na criação da interface gráfica da aplicação e na parte 2, que será abordada em um próximo tutorial, implementaremos a funcionalidade de consulta. Espero que este tutorial seja útil e que você consiga criar a sua própria aplicação de consulta de CEP utilizando Python e PySimpleGUI.

0 0 votes
Article Rating

Leave a Reply

7 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@thiagodfs81
1 day ago

10:33 Alguem poderia me explicar o que essa linha está fazendo? 3 variáveis recebendo o mesmo valor?

@thiagodfs81
1 day ago

9:45 Qual o objetivo desta linha de codigo? Esta variavel 'telaprin' foi usada em algum momento?

@thiagodfs81
1 day ago

Muito bom.. da proxima vez grave comentários durante a execução.

@deproenca85
1 day ago

Bem legal o código… Só uma pergunta, vc criou a variavel telaprin, porém onde ela foi utilizada? Fiquei com essa dúvida… Se puder me responder, agradeço… Abraços

@Guilherme-td8sb
1 day ago

O programa ficou excelente Renato! Parabéns! Obrigado por disponibilizar o código!

@davirodrigues2029
1 day ago

Legal, mas não ensina a fazer do que adianta, mas ficou bom

@LuizinhoAra
1 day ago

👏🏻👏🏻👏🏻👏🏻👏🏻

7
0
Would love your thoughts, please comment.x
()
x