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!
Muito bom !!!
Monstro cria um e posta na playlist
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
Pq "as sg" ? Oq significa.?
Legal, mas não dá pra ver as letras…
Muito bom, parabéns, post mais vÃdeos sobre o Python.
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.
onde baixa a documentação
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')
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
ficou muito, bem informativo pra quem ta começando
Não tem como dimensionar posicionar as janelas?
O meu pysimplegui não instala eu fiz tudo certo
Muito bom!!!!
O meu da um erro. Pysimplegui_issues = f"{Pysimplegui_url}/issues/new?"
Syntaxerror: invalid syntax
Alguém pode me ajudar?
muito bom mesmo, eu tenho dificuldade em entender que é exigido na função.
MT boa mano,parabens!Salvou meu projeto…
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…
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.