PySimpleGUI #1 | Creating interfaces in Python 3 – Beginner’s Guide

Posted by


PySimpleGUI é uma biblioteca Python multiplataforma que permite criar interfaces gráficas de forma simples e intuitiva. Neste tutorial, vamos mostrar como usar o PySimpleGUI para criar interfaces no Python 3, com um guia passo a passo para iniciantes.

Passo 1: Instalando o PySimpleGUI

Primeiro, é necessário instalar a biblioteca PySimpleGUI. Para isso, abra o terminal do seu sistema operacional e digite o seguinte comando:

pip install PySimpleGUI

Assim, o PySimpleGUI será instalado na sua máquina e estará pronto para ser usado em seus projetos.

Passo 2: Criando uma janela simples

Agora, vamos criar uma janela simples usando o PySimpleGUI. Abra seu editor de código preferido e crie um novo arquivo Python. Em seguida, insira o seguinte código:

import PySimpleGUI as sg

layout = [
    [sg.Text("Olá, mundo!")],
    [sg.Button("Clique aqui")]
]

janela = sg.Window("Minha primeira janela", layout)

evento, valores = janela.read()

if evento == "Clique aqui":
    sg.popup("Você clicou no botão!")

janela.close()

Neste código, importamos a biblioteca PySimpleGUI e criamos uma janela com um texto "Olá, mundo!" e um botão "Clique aqui". Em seguida, iniciamos a janela e esperamos por um evento. Se o evento for o clique no botão, exibimos uma mensagem pop-up.

Passo 3: Personalizando a janela

Além dos elementos padrão como textos e botões, o PySimpleGUI permite personalizar a aparência da janela e dos componentes. Por exemplo, é possível alterar as cores, fontes, tamanhos e alinhamentos. Veja um exemplo:

import PySimpleGUI as sg

layout = [
    [sg.Text("Digite seu nome:")],
    [sg.InputText()],
    [sg.Button("Enviar", button_color=('white', 'green'))]
]

janela = sg.Window("Janela personalizada", layout, background_color='white', text_element_background_color='white')

evento, valores = janela.read()

if evento == "Enviar":
    nome = valores[0]
    sg.popup(f"Olá, {nome}!")

janela.close()

Neste código, personalizamos a janela com um fundo branco e alteramos a cor do botão para verde. Também adicionamos um campo de entrada de texto para que o usuário possa digitar o seu nome.

Passo 4: Criando layouts mais complexos

Além de janelas simples com um único layout, o PySimpleGUI permite criar interfaces mais complexas com múltiplas janelas, abas, menus e grids. Veja um exemplo de um layout mais elaborado:

import PySimpleGUI as sg

layout = [
    [sg.TabGroup([
        [sg.Tab('Tab 1', [[sg.Text('Conteúdo da aba 1')]]),
         sg.Tab('Tab 2', [[sg.Text('Conteúdo da aba 2')]])]
    ])],
    [sg.Button("Botão 1"), sg.Button("Botão 2")]
]

janela = sg.Window("Interface avançada", layout)

evento, valores = janela.read()

if evento == "Botão 1":
    sg.popup("Você clicou no botão 1!")
elif evento == "Botão 2":
    sg.popup("Você clicou no botão 2!")

janela.close()

Neste código, criamos uma janela com abas e dois botões. Dependendo do botão clicado, uma mensagem pop-up será exibida ao usuário.

Com este tutorial, você aprendeu como criar interfaces simples e avançadas no Python 3 usando o PySimpleGUI. Experimente criar suas próprias interfaces e explore a documentação da biblioteca para mais funcionalidades e opções de personalização. Divirta-se programando!

0 0 votes
Article Rating

Leave a Reply

19 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@CarlosJAVB
1 hour ago

Muito bom !!!

@e.marques17
1 hour ago

Monstro cria um e posta na playlist

@DiversidadeComum
1 hour ago

tenho um projeto para ser criado, mas não faço ideia de como fazer, pode me ajudar? Pra conseguir alimentar o banco de dados (planilha excel) e outra pra consultar banco de dados (planilha excel) e voltar com um resultado…
Talvez pra primeira opção, criar um executável que abre uma caixa de diálogo (texto) vc digita ali a estatística, exemplo: 5/4 5/2 2/1 depois clica em buscar, caso ele ache no banco de dados (planilha excel) voltaria com outra caixa dizendo para colocar (inserir manualmente) para adicionar na linha, e por fim finalizar pra adicionar o valor inserido na segunda caixa.. caso não tenha a estatística, exemplo: 5/4 5/2 2/1, ele pergunta (caixa de diálogo) se quer adicionar, vc adiciona e depois a opção adicionar o valor inserido, e assim, sempre vc fizer a busca e adicionar uma linha ele vai colocando novas linhas…
exemplo:
coluna – estatistica – gol – gol – gol – gol
linha – 5/4 5/2 2/1 – 1*1 – 2*1 – 3*1 – 0*0
E para a busca somente no mesmo banco de dados (planilha excel). Abre um executável com campo pra digitar a estatística e ele volta com o resultado da estatistica… ex: qtos empates, 1,5, 2,5, 3,5 e 5+

Empate = 0*0, 1*1, 2*2, 3*3..
1,5 = 1*1, 2*0, 0*2 ..
2,5 = 2*1, 1*2, 3*0, 0*3 ..
3,5 = 2*2, 1*3, 3*1 ..
5+ = 5 gols ou mais

@tiagohenriques937
1 hour ago

Pq "as sg" ? Oq significa.?

@Davi_e_Gabi_oficial
1 hour ago

Legal, mas não dá pra ver as letras…

@alancharles4734
1 hour ago

Muito bom, parabéns, post mais vídeos sobre o Python.

@CELUGames
1 hour ago

Obrigado, cara! Primeira interface que faço e entendo, kkk. Poderia me dizer ou mandar o código de onde insiro o meu código do programa pra rodar, tipo, as funções dele e tal.

@herculanomarques9537
1 hour ago

onde baixa a documentação

@independenciafinanceira-BR
1 hour ago

tenho uma duvida já tenho minha tela mais na hora de troca o icone padrão do PySimpleGUI da janela na parte de cima da erro tipo eu coloco um caminho na minha maquina da certo mais no momento que eu mando para outra pessoa o bot ai o icone padrão volta como faço para criar uma caminho dinamico que o meu icone personalizado se mantenha na interface

janela = sg.Window('Botgram troy', layout, icon=r'C://Desktop//BOT GRAM 2//Botgram adiciona//iconeee.ico')

@codigobinario4676
1 hour ago

oi cara tenho duas perguntas e gostaria que vc explicasse bem 1-Como movo botões textos pelo eixo x e y 2-Como boto imagens nos botões poderia responder por favor

@jercikabeatriz9397
1 hour ago

ficou muito, bem informativo pra quem ta começando

@dcprint
1 hour ago

Não tem como dimensionar posicionar as janelas?

@craftnitro
1 hour ago

O meu pysimplegui não instala eu fiz tudo certo

@paradoxojr
1 hour ago

Muito bom!!!!

@Endriosantos
1 hour ago

O meu da um erro. Pysimplegui_issues = f"{Pysimplegui_url}/issues/new?"
Syntaxerror: invalid syntax
Alguém pode me ajudar?

@Jefferson-zt3im
1 hour ago

muito bom mesmo, eu tenho dificuldade em entender que é exigido na função.

@wolfkiller205
1 hour ago

MT boa mano,parabens!Salvou meu projeto…

@antoniomanoel9843
1 hour ago

Pow, galera, ficou muito top!!!!!!! Parabéns pela iniciativa. Só assim os iniciantes conseguem ver algo e não se resumir a função, função e função…

@wictortec5627
1 hour ago

Um detalhe! Na parte onde se define o tema dos layouts, na linha 12, na realidade é: sg.theme('tema') ao invés de sg.theme = 'tema'. Beleza?
Infelizmente eu cometi esse errinho, mas espero que vocês tenha entendido.

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