从表格中的Sqlite数据库中显示PyQt数据的最简单方法?

时间:2014-02-22 16:42:43

标签: python database sqlite user-interface pyqt4

def showdata(self):
    sender=self.sender()
    self.statusBar().showMessage(sender.text()+' was pressed.')
    with sqlite3.connect('database.db') as db:
        cursor=db.cursor()
        cursor.execute('select* from Item Order BY Name ASC')
        product=cursor.fetchall()
        product=str(product)
        print(len(product))
        self.l.setText(str(product)) #this prints the database headers to a label inside my gui
        self.l124.setText(show) #this prints the database rows to a label inside my gui

这会调用我的sqlite数据库并将所有数据打印在括号中的一行中,例如(2,'test','test','test','test','test','test', 'test')],其中2是唯一ID,用户输入的其他值。它还打印出数据库标题,分别打印到行,我希望将它们放在一起以增加简洁性。如果需要更多信息来帮助我解决我的问题或任何代码,请告诉我。

1 个答案:

答案 0 :(得分:1)

您需要考虑一次处理一行而不是 en masse

cursor=db.cursor()
cursor.execute('select* from Item Order BY Name ASC')
self.setupHeaderLabels(cursor.description)
for row in cursor:
    self.showOneRow(row)

然后只需实施setupHeaderLabelsshowOneRow方法。