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,用户输入的其他值。它还打印出数据库标题,分别打印到行,我希望将它们放在一起以增加简洁性。如果需要更多信息来帮助我解决我的问题或任何代码,请告诉我。
答案 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)
然后只需实施setupHeaderLabels
和showOneRow
方法。