Qtablewidget - 行未更新

Qtablewidget- Row is not getting updated

本文关键字:更新 Qtablewidget      更新时间:2023-10-16

下面是循环中的代码。列正在更新推进,但行仅占第 0 行。如果行 = 4,则数据也显示在表的第 0 行。

void method_1::set_data_ontable(int row, double l1, double l2, int type_of_object)
{
    setdes1->setText(QString::number((row), 'f', 0));
    ui->tableWidget->setItem(row, 0, setdes1);
    setdes1->setText(QString::number((l1), 'f', 6));
    ui->tableWidget->setItem(row, 1, setdes1);
    setdes1->setText(QString::number((l2), 'f', 6));
    ui->tableWidget->setItem(row, 2, setdes1);
    setdes1->setText(QString::number((type_of_object), 'f', 0));
    ui->tableWidget->setItem(row, 3, setdes1);
}

请帮我解决问题。

您需要设置表行数

将此表模型中的行数设置为行数。如果此值小于 rowCount(),则丢弃不需要的行中的数据。

它现在正在工作。更改以下内容后

ui->tableWidget->setItem(row, 0, new 
QTableWidgetItem(QString::number((row))));
ui->tableWidget->setItem(row, 1, new 
QTableWidgetItem(QString::number((longitude), 'f',6)));
ui->tableWidget->setItem(row, 2, new 
QTableWidgetItem(QString::number((latitude), 'f', 6)));
ui->tableWidget->setItem(row, 3, new 
QTableWidgetItem(QString::number((row))));

new QTableWidgetItem(QString::number((row))).这个新不会给出任何内存泄漏?。