for循环中的QTableWidget setItem仅在最后一行添加数据

时间:2019-01-13 13:47:47

标签: python-3.x pyqt5 qtablewidget

我正在尝试下面的代码将sql查询返回的行添加到QTableWidget,但最终只有最后一行具有数据,而所有其他行均为空白。尽管它会插入正确的行数和列数

在每个循环中使用行号,列号和数据尝试打印语句。一切似乎都很好

def show_all(self):
    conn = sqlite3.connect("toDoManager.db")
    cur = conn.cursor()
    all_rows = cur.execute("SELECT * from tasks").fetchall()
    conn.commit()
    conn.close()
    self.tableWidget_taskResults.setRowCount(0)
    for row_num, row_data in enumerate(all_rows):
        self.tableWidget_taskResults.insertRow(row_num)
        #print(row_num,row_data)
        self.tableWidget_taskResults.setColumnCount(0)
        for col_num, col_data in enumerate(row_data):
            self.tableWidget_taskResults.insertColumn(col_num)
            #print(row_num,col_num,col_data)
            self.tableWidget_taskResults.setItem(row_num,col_num,QtWidgets.QTableWidgetItem(str(col_data)))
            #print("widget data ", QtWidgets.QTableWidgetItem(str(col_data)))

0 个答案:

没有答案