PyQt5制作UI界面连接数据库时循环显示数据时出错

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]))

img

使用这个方法可以:
for i in range(0,4):
for u in range(0,2):
self.tableWidget.setItem(i, u, QtWidgets.QTableWidgetItem(str(allData[i][u])))

但是那种方式怎么就不行了?这是为什么呢?

img

错误提示看起来像是这个 self.tableWidget.item(2, 0) 不存在。 返回是None