Blog

Postado em em 9 de junho de 2022

Janela para Código com PySimpleGUI – Crie 1 Tela para Códigos em Python!

Hoje eu vou te ensinar como criar uma janela para código com PySimpleGUI para melhorar a interação do seu código com o usuário!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo ou acesse o nosso canal do YouTube!

Janela para Código com PySimpleGUI

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Criar Janela para Código com PySimpleGUI

Você já parou para pensar como criar janelas para seu código para que ele fique mais apresentável e mais fácil de utilizar?

Hoje eu vou te mostrar a criação de janelas para seu código ficar ainda mais visual e muito mais intuitivo!

Criação de Janelas para Código

Para essa aula nós vamos criar janela oara código com PySimpleGUI. Essa ferramenta vai permitir a criação de telas de forma simples.

Então além de poder deixar seu código mais visual ainda vai ter uma maneira fácil de fazer isso.

Para a nossa aula nós vamos utilizar o editor de Python PyCharm, mas você pode utilizar outro navegador. Recomendo que utilize o mesmo para que consiga seguir os mesmos passos!

Um aviso que nós sempre gostamos de deixar é para que você sempre tenha o hábito de abrir a documentação das ferramentas que for trabalhar.

Na documentação é que você vai saber como a ferramenta funciona e já vai ter tudo o que precisa para utilizá-la, assim como os códigos para essas funcionalidades!

Caso queira acessar a documentação do PySimpleGUI basta clicar aqui que será redirecionado ao site.

Obs.: A documentação é muito importante, pois nela é que você vai conseguir visualizar todas as ferramentas da biblioteca e quais as possibilidades que você vai ter utilizando essa ferramenta.

Dentro do PyCharm para fazer essa instalação basta abrir o terminal, que fica logo na parte inferior do programa e escrever pip install pysimplegui.

Para o nosso exemplo, vamos utilizar um código para pegar cotações de moedas que já ensinamos aqui, só que para utilizar esse código você também vai precisar instalar a biblioteca requests.

A instalação é bem simples, basta escrever pip install requests no seu terminal.

import PySimpleGUI as sg
from cotacao import pegar_cotacoes

layout = [
    [sg.Text("Pegar Cotação da Moeda")],
    [sg.InputText(key="nome_cotacao")],
    [sg.Button("Pegar Cotação"), sg.Button("Cancelar")],
    [sg.Text("", key="texto_cotacao")],
]

janela = sg.Window("Sistema de Cotações", layout)

while True:
    evento, valores = janela.read()
    if evento == sg.WIN_CLOSED or evento == "Cancelar":
        break
    if evento == "Pegar Cotação":
        codigo_cotacao = valores["nome_cotacao"]
        cotacao = pegar_cotacoes(codigo_cotacao)
        janela["texto_cotacao"].update(f"A cotação do {codigo_cotacao} é de R${cotacao}")

janela.close()

Primeiro nós temos a importação das bibliotecas, para que você consiga utilizá-las no seu código.

OBS: Sempre que temos a importação da biblioteca seguido do as é para termos um nome um pouco mais simples, do que ter que escrever o nome inteiro da biblioteca. Você vai notar que várias vezes utilizamos o sg ao invés do PySimpleGUI, até porque é bem menor e bem mais fácil de escrever. Além do mais, muito mais difícil de errar a escrita.

Em seguida nós vamos ter o layout da nossa tela, como você pode notar, nós temos 4 linhas, isso quer dizer que vamos ter 4 informações dentro da nossa tela uma embaixo da outra.

Dentro desse layout temos sg.Text (caixa de texto), sgInputText (caixa de texto onde o usuário vai inserir uma informação), sg.Button  (botão).

Lembrando que essas informações estão disponíveis na documentação, então qualquer dúvida apode consultar a documentação para saber qual o código utilizar.

Em janela = sgWindow é onde vamos criar de fato a janela. Então vamos informar o nome da janela e qual o layout estamos utilizando.

Agora nós vamos para a parte importante do código que é o While True, ou seja, vamos criar um loop infinito para que a nossa janela fique sempre aberta.

Logo na primeira linha de código temos evento, valores = janela.read(). Isso quer dizer que sempre que estivermos nesse loop o código vai ler as informações da janela e vai armazenar as informações de evento e os valores.

Os eventos seriam as ações, ou seja, os cliques que foram feitos. Então se você clicar no botão Pegar Cotação o código vai armazenar essa informação como evento.

Agora sempre que preencher uma informação ou estiver pegando uma informação de algum lugar, isso ficará dentro da variável valores.

Agora nós vamos as condições do nosso código. Inicialmente sempre vamos começar com as condições que fecham a nossa janela. Que é o botão de x no canto superior da tela e nesse caso o nosso botão de cancelar.

A próxima condição é para verificar se o usuário clicou no botão Pegar Cotação, se isso acontecer nós vamos atribuir a variável codigo_cotacao o nome da cotação que foi inserida pelo usuário.

Em seguida vamos atribuir a variável cotacao o valor da nossa função de cotação que vai buscar exatamente esse nome. Lembrando que essa função está disponível para download junto dos arquivos.

Por fim vamos inserir um texto dentro da nossa janela em texto_cotacao com o nome da cotação e o valor que buscamos.

Execução do código na tela criada
Janela para código com PySimpleGUI

Aqui temos o exemplo que como ficaria a nossa janela feita dessa maneira. Se você escrever o nome da moeda e clicar em cotação já vai ter o valor logo abaixo dos botões.

Caso clique em cancelar ou no x no canto superior direito a janela será fechada e o código vai parar sua execução!

Conclusão – Janela para Código com PySimpleGUI

Nessa aula eu te mostrei como criar janela para código com PySimpleGUI. Você deve ter notado que é bem simples essa criação não é mesmo?

Lembrando que você não só pode, como deve consultar a documentação para verificar as possibilidades de inserir mais elementos na sua janela e deixar seu projeto ainda melhor!

Você já tem um código de exemplo, mas pode utilizar seus códigos que já tem criado e adicionar uma tela para facilitar a interação do seu código com o usuário!

Até porque fica muito mais visual você entregar um projeto com uma interface, ao invés de apenas códigos não é mesmo?

Se quiser, você pode acessar o site do Real Python para mais informações e exemplos sobre o PySimpleGUI!

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Quer sair do zero no Power BI e virar uma referência na sua empresa? Inscreva-se agora mesmo no Power BI Impressionador