Qtablewidget- Row没有得到更新

时间:2017-11-06 08:58:36

标签: c++ qt

下面是循环代码。该列正在更新螺旋桨,但行只占第0排。如果row = 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);
}

请帮我解决这个问题。

2 个答案:

答案 0 :(得分:0)

您需要设置表row count

  

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

答案 1 :(得分:0)

现在正在运作。更改以下后

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)))。这个新的不会给任何内存泄漏?。