Pular para o conteúdo

Como Usar a Interface Gráfica Simples com Python

[

PySimpleGUI: A Maneira Simples de Criar uma GUI com Python

por Mike Driscoll gui intermediário

Criar uma interface gráfica do usuário (GUI) simples que funcione em várias plataformas pode ser complicado. Mas não precisa ser assim. Você pode usar o Python e a biblioteca PySimpleGUI para criar interfaces de usuário bonitas que você e seus usuários vão adorar! PySimpleGUI é uma nova biblioteca GUI para Python que tem despertado muito interesse recentemente.

Introdução ao PySimpleGUI

O PySimpleGUI possui quatro portas:

  1. PyQt
  2. wxPython
  3. Remi

Dependendo de qual variante do PySimpleGUI você usa, os aplicativos que você cria com o PySimpleGUI podem não ter a aparência nativa de sua plataforma. Mas não deixe que isso o impeça de experimentar o PySimpleGUI. O PySimpleGUI ainda é bastante poderoso e pode fazer a maioria das coisas com um pouco de trabalho.

Instalando o PySimpleGUI

Veja como fazer:

Terminal window
$ python -m pip install pysimplegui

Se preferir experimentar a variante PyQt, você pode usar pip install PySimpleGUIQt em seu lugar. Agora que você tem o PySimpleGUI instalado, é hora de descobrir como usá-lo!

Criando Elementos Básicos de UI no PySimpleGUI

import PySimpleGUI as sg
# Criando uma janela
layout = [[sg.Text("Olá, mundo!")], [sg.Button("Ok")]]
window = sg.Window("Minha Janela", layout)
# Loop de eventos
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
window.close()

O código acima cria uma janela com um texto “Olá, mundo!” e um botão “Ok”. A janela permanece aberta até que o botão seja clicado ou a janela seja fechada.

Criando Aplicações Simples com o PySimpleGUI

O PySimpleGUI também permite criar aplicações mais complexas, com várias janelas e interações mais avançadas. Aqui está um exemplo que cria uma calculadora simples:

import PySimpleGUI as sg
# Criando a janela principal
layout = [
[sg.Input(size=(20, 2), key="-DISPLAY-", justification="right")],
[sg.Button("1"), sg.Button("2"), sg.Button("3"), sg.Button("/")],
[sg.Button("4"), sg.Button("5"), sg.Button("6"), sg.Button("*")],
[sg.Button("7"), sg.Button("8"), sg.Button("9"), sg.Button("-")],
[sg.Button("0"), sg.Button("."), sg.Button("="), sg.Button("+")],
]
window = sg.Window("Calculadora", layout, finalize=True)
# Variáveis de estado
current_number = ""
previous_number = ""
operator = ""
result = None
# Funções auxiliares
def update_display(value):
window["-DISPLAY-"].update(value)
# Loop principal
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
if event in "1234567890.":
current_number += event
update_display(current_number)
if event in "/*-+":
if previous_number and current_number:
if operator == "+":
result = float(previous_number) + float(current_number)
elif operator == "-":
result = float(previous_number) - float(current_number)
elif operator == "*":
result = float(previous_number) * float(current_number)
elif operator == "/":
result = float(previous_number) / float(current_number)
previous_number = str(result)
current_number = ""
operator = event
if event == "=":
if previous_number and current_number:
if operator == "+":
result = float(previous_number) + float(current_number)
elif operator == "-":
result = float(previous_number) - float(current_number)
elif operator == "*":
result = float(previous_number) * float(current_number)
elif operator == "/":
result = float(previous_number) / float(current_number)
update_display(str(result))
window.close()

Este código cria uma interface de calculadora básica com botões numéricos e operadores. A calculadora permite realizar somas, subtrações, multiplicações e divisões.

Conclusão

O PySimpleGUI é uma biblioteca poderosa para criar interfaces gráficas do usuário de forma rápida e fácil com o Python. Com o PySimpleGUI, você pode criar aplicações com várias janelas e interações avançadas, tornando a experiência do usuário mais agradável. Experimente o PySimpleGUI em seu próximo projeto GUI com Python e veja como ele pode simplificar seu processo de desenvolvimento.

[feedback/survey/article/pysimplegui-python/gostei/?from=article-sidebar “Gostei”] [feedback/survey/article/pysimplegui-python/não-gostei/?from=article-sidebar “Não gostei”]