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:
-
Importamos as bibliotecas necessárias, PySimpleGUI e sqlite3.
-
Conectamos ao banco de dados SQLite e criamos uma tabela chamada ‘clientes’ se ela não existir.
-
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.
-
Criamos a janela com o título ‘Cadastro de Clientes’ e o layout definido.
-
Iniciamos um loop principal onde esperamos por eventos na janela.
-
Se o evento for o fechamento da janela ou o clique no botão ‘Sair’, saímos do loop.
-
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.
- 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!
Muito top sua ideia de fazer esse tipo de conteudo…. obrigado!!!
Muito bom
Genial! Parabéns por compartilhar o conhecimento!
Beleza! Obrigado. Curtido e comentado, pois é o mínimo de gentileza a se retribuir por um conhecimento disseminado.
folha de cálculo…
LibreOffice
Boa Noite, amigo, muito bom seus vídeos, só que estou com problema com a instalação do SQLite3, pode me ajudar?
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
Funciona se eu usar em vez sqlite3 usar o SQL?
N ta instlando o sqlite3 sera que e pq é windows 7?
flayout
o meu nao que puxar a variavel window n
eu nao to conseguindo estalar o sqlite3
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 ?