PyQt5制作UI界面连接mysql数据库,将数据循环显示在UI界面的表格上时出错,不使用双重循环又可以全部显示在表格上
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle("MainWindow")
item = self.tableWidget.horizontalHeaderItem(0)
item.setText("ID")
item = self.tableWidget.horizontalHeaderItem(1)
item.setText("name")
allData = self.fromSql()
# allData是cursor.fetchall() 获得的所有数据
for i in range(0,4):
for u in range(0,2):
item = self.tableWidget.item(i, u)
item.setText(str(allData[i][u]))
# item = self.tableWidget.item(0, 0)
# item.setText(str(allData[0][0]))
# item = self.tableWidget.item(0, 1)
# item.setText(str(allData[0][1]))
# item = self.tableWidget.item(1, 0)
# item.setText(str(allData[1][0]))
# item = self.tableWidget.item(1, 1)
# item.setText(str(allData[1][1]))
使用这个方法可以:
for i in range(0,4):
for u in range(0,2):
self.tableWidget.setItem(i, u, QtWidgets.QTableWidgetItem(str(allData[i][u])))
但是那种方式怎么就不行了?这是为什么呢?
错误提示看起来像是这个 self.tableWidget.item(2, 0) 不存在。 返回是None