Se hai intenzione di utilizzare widget e modelli Qt, PySide (PyQt o semplice Qt/C++) è la strada da percorrere.
Con nudo psycopg2
avrai molto più lavoro da fare e dovrai implementare il tuo modello per sfruttare le classi model/view di Qt. Questo semplicemente non è il modo in cui Qt fa le cose. PySide (e PyQt) ha i propri mezzi per connettersi a un database supportato, non sono necessari adattatori di database Python puri come psycopg2
. Utilizza la libreria libqt4-sql sottostante (C++) e i plugin installati (QPSQL, QMYSQL, QSQLITE, ecc.).
In sostanza devi:
- Connetti a un database.
- Crea un'istanza di un modello (QSqlQueryModel, QSqlTableModel o una classe derivata QAbstractTableModel personalizzata)
- Attacca quel modello a una vista (es. QTableView).
Dai un'occhiata alla Documentazione PySide QtSql e la documentazione PyQt per avere un'idea. Sono per lo più compatibili/intercambiabili, ma a prima vista vedo che la documentazione di PyQt sembra più completa.
MODIFICA (dopo la modifica): Un'applicazione Qt GUI richiede l'esecuzione di un ciclo di eventi, fornito da un QApplication
esempio. Prima di approfondire le specifiche della tua app, prenditi del tempo per capire prima alcuni concetti di base. Ecco una bella Guida introduttiva a PyQt
.