Als u van plan bent Qt-widgets en -modellen te gebruiken, is PySide (PyQt of gewoon Qt/C++) de juiste keuze.
Met blote psycopg2
je hebt nog veel meer werk te doen en je zult je eigen model moeten implementeren om gebruik te kunnen maken van Qt's model/view-klassen. Dit is gewoon niet de Qt-manier om dingen te doen. PySide (en PyQt) heeft zijn eigen middelen om verbinding te maken met een ondersteunde database, er zijn geen pure Python-databaseadapters zoals psycopg2
nodig . Het gebruikt de onderliggende libqt4-sql-bibliotheek (C++) en de geïnstalleerde plug-ins (QPSQL, QMYSQL, QSQLITE, enz.).
In wezen moet u:
- Maak verbinding met een database.
- Maak een model (QSqlQueryModel, QSqlTableModel of een aangepaste van QAbstractTableModel afgeleide klasse)
- Voeg dat model toe aan een weergave (bijv. QTableView).
Bekijk de PySide QtSql-documentatie en de PyQt-documentatie om een idee te krijgen. Ze zijn meestal compatibel/uitwisselbaar, maar in één oogopslag zie ik dat de PyQt-documentatie er completer uitziet.
BEWERKEN (na uw bewerking): Een Qt GUI-toepassing vereist een gebeurtenislus om te draaien, en die wordt geleverd door een QApplication
voorbeeld. Voordat u verder gaat met de details van uw app, moet u eerst de tijd nemen om een paar basisconcepten te begrijpen. Hier is een mooie Aan de slag met PyQt-gids
.