Neste tutorial, vamos falar sobre como utilizar o PySimpleGUI juntamente com o SQLite3 para criar uma aplicação que gerencia detalhes de um projeto. Vamos abordar os passos necessários para criar a interface gráfica, adicionar funcionalidades de CRUD (Create, Read, Update, Delete) e armazenar os dados em um banco de dados SQLite.
Passo 1: Preparação do ambiente
Antes de começar, certifique-se de que você tem o PySimpleGUI e o SQLite3 instalados em seu ambiente Python. Você pode instalá-los usando o comando abaixo:
pip install PySimpleGUI
pip install sqlite3
Passo 2: Criar a interface gráfica
Vamos começar criando a interface gráfica da aplicação. Abaixo está um exemplo de como seria a estrutura básica da nossa interface:
import PySimpleGUI as sg
layout = [
[sg.Text('Nome do projeto:'), sg.InputText(key='nome')],
[sg.Text('Descrição:'), sg.InputText(key='descricao')],
[sg.Button('Adicionar'), sg.Button('Editar'), sg.Button('Deletar')],
[sg.Listbox(values=[], size=(30, 5), key='lista_projetos')]
]
window = sg.Window('Detalhes do projeto', layout)
Neste exemplo, criamos uma janela com campos para inserir o nome e a descrição do projeto, botões para adicionar, editar e deletar projetos, e uma listbox para exibir os projetos cadastrados.
Passo 3: Conectar ao banco de dados SQLite
Agora, vamos criar a conexão com o banco de dados SQLite e criar a tabela projetos
para armazenar os projetos. Abaixo está um exemplo de como fazer isso:
import sqlite3
conn = sqlite3.connect('projetos.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS projetos (id INTEGER PRIMARY KEY, nome TEXT, descricao TEXT)')
conn.commit()
Passo 4: Implementar as funcionalidades CRUD
Agora, vamos implementar as funcionalidades de CRUD para adicionar, editar, listar e deletar projetos. Abaixo está um exemplo de como fazer isso:
# Adicionar um projeto
def adicionar_projeto(nome, descricao):
cursor.execute('INSERT INTO projetos (nome, descricao) VALUES (?, ?)', (nome, descricao))
conn.commit()
# Editar um projeto
def editar_projeto(nome, descricao, id):
cursor.execute('UPDATE projetos SET nome = ?, descricao = ? WHERE id = ?', (nome, descricao, id))
conn.commit()
# Listar projetos
def listar_projetos():
cursor.execute('SELECT * FROM projetos')
projetos = cursor.fetchall()
return projetos
# Deletar um projeto
def deletar_projeto(id):
cursor.execute('DELETE FROM projetos WHERE id = ?', (id,))
conn.commit()
Passo 5: Integrar a interface gráfica com as funcionalidades CRUD
Agora, vamos integrar a interface gráfica com as funcionalidades CRUD que acabamos de implementar. Abaixo está um exemplo de como fazer isso:
while True:
event, values = window.read()
if event == sg.WIN_CLOSED:
break
elif event == 'Adicionar':
adicionar_projeto(values['nome'], values['descricao'])
window['lista_projetos'].update(values=listar_projetos())
elif event == 'Editar':
editar_projeto(values['nome'], values['descricao'], values['lista_projetos'][0])
window['lista_projetos'].update(values=listar_projetos())
elif event == 'Deletar':
deletar_projeto(values['lista_projetos'][0])
window['lista_projetos'].update(values=listar_projetos())
window.close()
Neste exemplo, estamos atualizando a lista de projetos toda vez que um projeto é adicionado, editado ou deletado.
Conclusão
Neste tutorial, você aprendeu como utilizar o PySimpleGUI juntamente com o SQLite3 para criar uma aplicação que gerencia detalhes de projetos. Você aprendeu a criar a interface gráfica, a conectar ao banco de dados SQLite, a implementar funcionalidades CRUD e a integrar a interface gráfica com as funcionalidades CRUD. Espero que este tutorial tenha sido útil e que você consiga criar suas próprias aplicações utilizando essas tecnologias.
Like, e muito obrigado!
Obrigado amigo vc e demais
Manda muito 😔✋💫
Ex:
P
r
o
d
u
t
o
mano fiz um codigo parecido onde preciso adicionar produtos, porem no meu esta com um erro, onde quando adiciona um produto, ele retorna o produto na listbox so que em cada letra da palavra do nome do item em linha separadas
se loko brabo de mais , manda contudo ai maluco , brabo de mais o conteudo tmj abraco