2010-09-27 4 views
0

J'ai un QsqlTableModel qui est assigné à une vue de table. mon problème est qu'il ne remplit pas la table à l'intérieur de la vue de la table. il est encore vide et il dit (Impossible de trouver des photos de table) - lors de l'impression lastError.text() -
la fonction retrieveShotResults .. (vérifier le code ci-dessous) est de tester s'il y a une table appelée coups et oui, il imprime tout très bien, et la connexion est bien aussi .. mais la vue de la table est toujours vide. Est-ce que je fais quelque chose de mal?
s'il vous plaît aider
merci est l'avance problème avec QSqlTalbeModel. table ne montre pas

class SqlModel(QtSql.QSqlTableModel):

def __init__(self): 
    super(SqlModel,self).__init__() 


    self.connect() 
    self.retrieveResult() 

    self.setEditStrategy(QtSql.QSqlTableModel.OnManualSubmit) 

    self.setTable("""shots""") 
    self.select() 

def connect(self): 
    # dataBase connection 
    db = QSqlDatabase.addDatabase("QMYSQL") 
    db.setHostName("localhost") 
    db.setDatabaseName("magenta") 
    db.setUserName("admin") 
    db.setPassword("moayyad") 

def retrieveShotResult(self): 
    query = QtSql.QSqlQuery() 
    query.exec_("""select * from shots""") 
    while query.next(): 
     table = query.value(1).toString() 
     print table 

Répondre

0

je l'ai trouvé^_ ^. la fonction (connect) doit être appelée dans le loop principal