2017-11-06 16 views
0

以下はループ内のコードです。列はpropelryを更新していますが、行は0行目しか取っていません。行= 4の場合、表の0行目にもデータが表示されます。Qtablewidget-行が更新されない

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); 
} 

問題を解決するのを手伝ってください。

+0

'ui-> tableWidget'の行数をテストしましたか? 'ui-> tableWidget-> setRowCount(iRowsNumber);' – Simon

答えて

0

あなたは行に、このテーブルのモデルの行数を設定します

テーブルrow count

を設定する必要があります。これがrowCount()より小さい場合、不要な行のデータは破棄されます。

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

新しいQTableWidgetItem(QString :: number((row)))。この新機能はメモリリークを起こさないでしょうか?

+0

いいえ、テーブルの項目の所有権を取る – Simon

+0

@シモンありがとうございます。 –

関連する問題