7

10 x 10 などのデータでいっぱいの 2D 配列があるとします。内容と行数はいつでも変更できます。このデータを QTableWidget に表示したいと思います。
テーブルの内容を更新するために、タイムアウトが 1 秒のタイマーを使用します。私が使用する場合、タイムアウトスロットで

void slot_timeOut()
{
    //Iterate over the rows
    //and for each cell do something like
    ui->tw_data->setItem(row, 0, new TableWidgetItem(data[row][0]);
    ui->tw_data->setItem(row, 0, new TableWidgetItem(data[row][1]);
    //...
    ui->tw_data->setItem(row, 0, new TableWidgetItem(data[row][9]);
}

新しい TableWidgetItem の使用が心配です。私はそれを参照しておらず、決して削除しません。
一定期間にわたって、これはメモリリークですか、それとも Qt によって管理されていますか? pls は助けてください...

4

4 に答える 4

2

Q オブジェクトをセルに追加すると、適切に削除されます。私は何千ものCストリングを細胞に押し込み、記憶が爆発するのを見ました。私の「生のテキストデータ」をQStringにして、私の問題は解決しました。

于 2016-11-10T09:40:11.560 に答える