Recupération des données via un tableView
Bonsoir,
Depuis deux semaines, je galère pour récupérer des données d'une BD MySQL pour les afficher dans un TableView. J'ai adapté le code en exemple dans la FAQ mais sans succès. voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| import sys
import mysql.connector
from PySide import QtGui, QtCore
from PySide.QtCore import SIGNAL
from PySide.QtGui import QMainWindow, QDialog, QApplication, QStandardItem,\
QTableView
from PySide.QtSql import QSqlTableModel, QSqlQueryModel
from UIfenprincipale import Ui_fenPrincipale
class FenPrincipale(QMainWindow, Ui_fenPrincipale):
'''
'''
def __init__(self, parent=None):
super(FenPrincipale, self).__init__(parent)
self.setupUi(self)
db=mysql.connector.connect(user = 'xxx', password = 'yyy', database = 'essai')
model = QSqlTableModel()
model.setTable('essai')
model.setEditStrategy(QSqlTableModel.OnManualSubmit)
model.select()
model.setHeaderData(0, QtCore.Qt.Horizontal, "Index")
model.setHeaderData(1, QtCore.Qt.Horizontal, "Nom")
model.setHeaderData(2, QtCore.Qt.Horizontal, "Obs")
self.tableEssai.setModel(model)
db.close()
if __name__ == '__main__':
app = QApplication(sys.argv)
frame = FenPrincipale()
frame.show()
app.exec_() |
J'ai peur que cela vienne du mode de connexion à la BD : galérant à compiler le driver MySQL sous QT (je ne trouve aucune explication satisfaisante : j’obtiens à chaque fois une erreur !), j'ai préféré me connecter à la BD via le connecteur python distribué avec MySQL. :calim2:
Si quelqu'un pouvait me donner un début de solution je lui en serai reconnaissant ! Merci.