Desarrollo de un CRUD Básico en Python, SQLite y QtDesigner en Ubuntu
Desktop
Introducción
El presente documento detalla el desarrollo de un CRUD (Create, Read, Update, Delete)
básico en Python, utilizando SQLite como base de datos y QtDesigner para la interfaz
gráfica, ejecutado en la terminal de Ubuntu Desktop. Este sistema permite la gestión de
usuarios, permitiendo crear, visualizar, actualizar y eliminar registros en una base de datos
SQLite.
Requisitos Previos
Antes de iniciar el desarrollo, se deben instalar las siguientes dependencias:
sudo apt update
sudo apt install python3-pip
pip install PyQt5 PyQt5-tools
Para diseñar la interfaz gráfica, se debe instalar y ejecutar Qt Designer:
designer
Creación de la Base de Datos SQLite
El siguiente script crea una base de datos llamada '[Link]' con una tabla para
almacenar la información de los usuarios:
import sqlite3
conn = [Link]("[Link]")
cursor = [Link]()
[Link]('''
CREATE TABLE IF NOT EXISTS usuarios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
edad INTEGER NOT NULL
)
''')
[Link]()
[Link]()
Conversión de la Interfaz Qt a Python
Una vez diseñada la interfaz en Qt Designer y guardada como '[Link]', se debe convertir a
código Python:
pyuic5 -x [Link] -o ui_crud.py
Implementación del CRUD en Python
El siguiente código implementa las funciones principales del CRUD:
import sys
import sqlite3
from [Link] import QApplication, QMainWindow, QMessageBox
from ui_crud import Ui_MainWindow
class CrudApp(QMainWindow):
def __init__(self):
super().__init__()
[Link] = Ui_MainWindow()
[Link](self)
[Link] = [Link]("[Link]")
[Link] = [Link]()
self.create_table()
[Link](self.crear_usuario)
[Link](self.ver_usuarios)
[Link](self.actualizar_usuario)
[Link]([Link])
def create_table(self):
[Link]("""CREATE TABLE IF NOT EXISTS usuarios (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nombre TEXT NOT NULL,
edad INTEGER NOT NULL)""")
[Link]()
def crear_usuario(self):
nombre = [Link]()
edad = [Link]()
if nombre and edad:
[Link]("INSERT INTO usuarios (nombre, edad) VALUES (?, ?)", (nombre,
edad))
[Link]()
[Link](self, "Éxito", "Usuario agregado correctamente")
[Link]()
[Link]()
else:
[Link](self, "Error", "Ingrese todos los datos")
def ver_usuarios(self):
[Link]("SELECT * FROM usuarios")
rows = [Link]()
[Link](len(rows))
for i, row in enumerate(rows):
for j, col in enumerate(row):
[Link](i, j, [Link](str(col)))
def actualizar_usuario(self):
id_usuario = [Link]()
nuevo_nombre = [Link]()
nueva_edad = [Link]()
if id_usuario and nuevo_nombre and nueva_edad:
[Link]("UPDATE usuarios SET nombre=?, edad=? WHERE id=?",
(nuevo_nombre, nueva_edad, id_usuario))
[Link]()
[Link](self, "Éxito", "Usuario actualizado")
else:
[Link](self, "Error", "Complete todos los campos")
def salir(self):
[Link]()
[Link]()
if __name__ == "__main__":
app = QApplication([Link])
window = CrudApp()
[Link]()
[Link](app.exec_())
Ejecución del Programa
Para ejecutar la aplicación, basta con correr el siguiente comando en la terminal:
python3 [Link]
Conclusiones
Este CRUD básico proporciona una estructura fundamental para la gestión de usuarios con
Python, SQLite y PyQt5 en Ubuntu. Puede ser ampliado con nuevas funcionalidades como
eliminación de registros, autenticación de usuarios y validaciones adicionales para mejorar
su robustez.