QSqlTableModel的问题。表没有显示

时间:2010-09-27 01:10:04

标签: python pyqt4 qtsql

我有一个分配给表视图的QsqlTableModel。 我的问题是它没有填充表视图中的表。它还是空的 它说(无法找到表格) - 打印lastError.text() -
时 函数retrieveShotResults ..(检查下面的代码)是测试是否有一个名为shot的表,是的它打印一切就好了,连接也很好..但是表视图仍然是空的。 我做错了什么?
请帮忙
谢谢是提前

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

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

1 个答案:

答案 0 :(得分:0)

我发现它^ _ ^。应该在mainloop

中调用(connect)函数