Introdução ao PySimpleGUI e SQLite3: Conceitos básicos e primeiros passos com o SimpleGUI

Posted by


Neste tutorial, vamos explorar os conceitos básicos do PySimpleGUI e como podemos combinar essa biblioteca com o SQLite3 para criar interfaces gráficas interativas para nossas aplicações.

O PySimpleGUI é uma biblioteca Python que nos permite criar interfaces gráficas de forma simples e intuitiva. Ele proporciona uma abstração fácil de usar sobre várias ferramentas de construção de GUI, como Tkinter, WxPython, e Qt, permitindo que criemos interfaces gráficas de forma rápida e eficiente.

O SQLite3, por sua vez, é um módulo integrado ao Python que nos possibilita trabalhar com bancos de dados SQLite de forma prática e direta. Ele é uma excelente opção para aplicações pequenas e médias, onde não é necessário um banco de dados mais robusto.

Vamos começar nosso tutorial com a instalação do PySimpleGUI e SQLite3. Para instalar o PySimpleGUI, basta utilizar o comando:

pip install PySimpleGUI

Em relação ao SQLite3, ele já é uma biblioteca integrada ao Python, então não precisamos instalar nada adicional.

Agora, vamos para nossas primeiras linhas de código com o PySimpleGUI e SQLite3.

import PySimpleGUI as sg
import sqlite3

# Conectando ao banco de dados SQLite
conn = sqlite3.connect('exemplo.db')
cursor = conn.cursor()

# Criando a tabela
cursor.execute('''CREATE TABLE IF NOT EXISTS clientes
               (id INTEGER PRIMARY KEY,
               nome TEXT NOT NULL,
               idade INTEGER)''')
conn.commit()

# Definindo o layout da interface
layout = [
    [sg.Text('Nome:'), sg.Input(key='nome')],
    [sg.Text('Idade:'), sg.Input(key='idade')],
    [sg.Button('Cadastrar'), sg.Button('Sair')],
]

# Criando a janela
window = sg.Window('Cadastro de Clientes', layout)

# Loop principal da aplicação
while True:
    event, values = window.read()

    if event == sg.WIN_CLOSED or event == 'Sair':
        break

    if event == 'Cadastrar':
        nome = values['nome']
        idade = values['idade']

        cursor.execute("INSERT INTO clientes (nome, idade) VALUES (?, ?)", (nome, idade))
        conn.commit()

        sg.popup('Cliente cadastrado com sucesso!')

# Fechando a conexão com o banco de dados
conn.close()

Vamos entender o que está acontecendo no código acima:

  1. Importamos as bibliotecas necessárias, PySimpleGUI e sqlite3.

  2. Conectamos ao banco de dados SQLite e criamos uma tabela chamada ‘clientes’ se ela não existir.

  3. Definimos o layout da interface gráfica com um campo de texto para o nome e idade do cliente, e botões para cadastrar e sair.

  4. Criamos a janela com o título ‘Cadastro de Clientes’ e o layout definido.

  5. Iniciamos um loop principal onde esperamos por eventos na janela.

  6. Se o evento for o fechamento da janela ou o clique no botão ‘Sair’, saímos do loop.

  7. Se o evento for o clique no botão ‘Cadastrar’, pegamos os valores dos campos de texto, inserimos no banco de dados e exibimos uma mensagem de sucesso.

  8. Finalmente, fechamos a conexão com o banco de dados.

Com esses passos simples, já conseguimos criar uma interface gráfica para cadastrar clientes em um banco de dados SQLite. A partir daqui, você pode incrementar sua aplicação com mais funcionalidades, como editar e excluir registros, e personalizar o layout da interface de acordo com suas necessidades.

Espero que esse tutorial seja útil e ajude você a dar os primeiros passos com o PySimpleGUI e SQLite3. Se tiver alguma dúvida, não hesite em perguntar. Obrigado e até a próxima!

0 0 votes
Article Rating
13 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@MonstroFull
1 month ago

Muito top sua ideia de fazer esse tipo de conteudo…. obrigado!!!

@hirajusto
1 month ago

Muito bom

@eduardorapanos8267
1 month ago

Genial! Parabéns por compartilhar o conhecimento!

@betobyte
1 month ago

Beleza! Obrigado. Curtido e comentado, pois é o mínimo de gentileza a se retribuir por um conhecimento disseminado.

@paulo.galvao
1 month ago

folha de cálculo…
LibreOffice

@sergiotavares9091
1 month ago

Boa Noite, amigo, muito bom seus vídeos, só que estou com problema com a instalação do SQLite3, pode me ajudar?

@ogaucho2003
1 month ago

Muito lega cara! Continua com essas aulas de bibliotecas que são muito importantes pra um programador, e continua seguindo a ideia já dada pela biblioteca! Muito top parabéns

@kbrunot13
1 month ago

Funciona se eu usar em vez sqlite3 usar o SQL?

@kbrunot13
1 month ago

N ta instlando o sqlite3 sera que e pq é windows 7?

@matheussouza4689
1 month ago

flayout

@matheussouza4689
1 month ago

o meu nao que puxar a variavel window n

@matheussouza4689
1 month ago

eu nao to conseguindo estalar o sqlite3

@gilbertoherminio8251
1 month ago

Olá Felipe! Parabéns pela explicação. Tõ aqui aprendendo. Agora, aqui na linha 20, onde tem o window.exit(), o python tá reclamando! informando que não há para "window" a referência de .exit(), o que poderá ser ?