sql >> Base de Datos >  >> RDS >> PostgreSQL

Usando psycopg2 y Qthreads juntos (o simplemente postgresql y qthreads) y actualizando la GUI

Está cerrando la conexión de la base de datos antes de que se inicie el ciclo principal de Qt, mueva todas las cosas relacionadas con Postgres al hilo.

class ThreadClass(QtCore.QThread):
    updateTable = pyqtSignal(dict)

    def __init__(self, parent=None):
        super().__init__()

    def run(self):
        conn = psycopg2.connect("dbname=motocompano_dev user=pg_admin password=pGsql_#--w3N_a0X!s7J-o1U+ host=localhost port=5555")

        cur = conn.cursor()        
        cur.execute("select * from events")
        orderbook = cur.fetchall()

        for rowNum, rowData in enumerate(orderbook):
            self.updateTable.emit({"insertRow": 0})
            for colNum, data in enumerate(rowData):
                self.updateTable.emit({"setItem": [rowNum, colNum, data]})

        cur.close()
        conn.close()