¿CÓMO VER BASES DE DATOS MYSQL EN PyQT-PYTHON?

Posted by


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!

0 0 votes
Article Rating
1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
@cymysql1962
1 month ago

si quiero mostra un campo fecha usando qDateEdit, tendras algun ejemplo por favor