0

我有一个大问题,我需要在 qtablewidget 中显示来自 sqlite3 db 的数据,但是当我存储新信息时,表格显示

     column1 column2 column3 column4 ....
row1 empty     empty    empty   empty
row2 data      empty    empty   empty
row3 data      data     data    empty
row4 data      data     data    data 

我的代码是显示表中的项目 def ActualizarBase(self): #Cargamos la base de datos y la colocamos en la tabla

 self.cursor.execute("SELECT * FROM Operaciones")
 filas = self.cursor.fetchall()
 self.numerodefilas=len(filas)
 self.ui.tableWidget.setRowCount(self.numerodefilas)
 #print filas[0]

 for j in range(self.numerodefilas):

     fila = filas[j]
 for i in range(1,len(filas)):
     elemento = fila[i]
     print 'elemento= '+ str(elemento)
     #print i
     elemento = str(elemento)
     if elemento == 'None' : elemento = ' '
     item=None
     item = QtGui.QTableWidgetItem()
     item.setText(QtGui.QApplication.translate("Hucha", str(elemento), None, QtGui.QApplication.UnicodeUTF8))
     self.ui.tableWidget.setItem(j,i-1,item)

欢迎任何建议

4

1 回答 1

0

“但表格显示一个单元格的数据然后跳转到另一行两个单元格其他行三个单元格等等......”,那是因为你没有设置self.ui.tableWidget.setColumnCount(numberOfColumns)。这也是错误的:for i in range(1,len(filas)):i应该在range(0, numberOfColumns)但首先你必须知道最大列数,或者如果你不知道它就找到它:max(len(fila)) for fila in filas.

于 2013-08-28T12:54:22.133 回答