Para visualizar una base de datos MySQL en PyQT-Python, primero necesitamos instalar las bibliotecas necesarias en nuestro entorno de Python. Utilizaremos la biblioteca PyQt5 para la interfaz gráfica y la biblioteca mysql-connector-python para conectarnos a la base de datos MySQL.
Paso 1: Instalación de bibliotecas
Para instalar PyQt5, podemos usar pip en la terminal:
pip install PyQt5
Para instalar mysql-connector-python, podemos usar pip en la terminal:
pip install mysql-connector-python
Paso 2: Crear la interfaz gráfica en PyQt5
Crear la interfaz gráfica en PyQt5 implica diseñar la ventana principal y los elementos necesarios para mostrar los datos de la base de datos. Por ejemplo, podemos crear una tabla en la ventana principal para mostrar los datos de una tabla en la base de datos.
from PyQt5.QtWidgets import QApplication, QMainWindow, QTableView
from PyQt5.QtGui import QStandardItemModel
import sys
class MainWindow(QMainWindow):
def __init__(self):
super().__init__()
self.setWindowTitle('Visualización de base de datos MySQL en PyQT-Python')
self.table = QTableView()
self.setCentralWidget(self.table)
model = QStandardItemModel()
# Aquà se deben agregar las columnas correspondientes a la tabla
self.table.setModel(model)
if __name__ == '__main__':
app = QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())
Paso 3: Conectarse a la base de datos MySQL
Ahora necesitamos conectarnos a la base de datos MySQL para obtener los datos que queremos mostrar en la tabla de la interfaz gráfica. Utilizaremos la biblioteca mysql-connector-python para establecer la conexión.
import mysql.connector
def connect_to_db():
conn = mysql.connector.connect(
host="localhost",
user="root",
password="password",
database="nombre_basedatos"
)
return conn
def fetch_data(conn):
cursor = conn.cursor()
cursor.execute("SELECT * FROM nombre_tabla")
data = cursor.fetchall()
conn.close()
return data
if __name__ == '__main__':
conn = connect_to_db()
data = fetch_data(conn)
Paso 4: Mostrar los datos en la tabla
Una vez que hemos obtenido los datos de la base de datos MySQL, podemos mostrarlos en la tabla de la interfaz gráfica que creamos en el Paso 2. Para hacer esto, necesitamos agregar las columnas y filas correspondientes a la tabla.
model = QStandardItemModel(len(data), len(data[0]))
for row_num, row_data in enumerate(data):
for col_num, cell_data in enumerate(row_data):
model.setItem(row_num, col_num, QStandardItem(str(cell_data)))
self.table.setModel(model)
Al finalizar estos pasos, habremos logrado visualizar una base de datos MySQL en una interfaz gráfica utilizando PyQT-Python. Si se desea mejorar la interfaz, se pueden agregar funciones de filtro, búsqueda y actualización de datos. ¡Espero que esta guÃa te haya sido de utilidad!
si quiero mostra un campo fecha usando qDateEdit, tendras algun ejemplo por favor