2

QAbstractItemModelでは、beginInsertRows、beginRemoveRowsなどの一部の関数を使用して、行を挿入および削除できます。しかし、行アイテムを別のアイテムに置き換える方法を実装するにはどうすればよいでしょうか。

4

2 に答える 2

1

私があなたを正しく理解していれば、指定されたモデル インデックスのデータの変更についてサブスクライブされたビューに通知する必要があります (1 つの行が新しいものに置き換えられました。ビューの場合、データが変更されたことを意味します)。

// let's the row is index that we want to invalidate
QVector<int> roles;
roles << Qt::DisplayRole;
emit dataChanged(index(row, 0), index(row, columnCount()-1), roles);
于 2013-03-22T06:04:41.750 に答える
0

大量のデータを変更したい場合は、次のようにする必要があります。

beginResetModel();
// change data
endResetModel();

1 行だけを変更する場合は、dataChanged() を発行するとうまくいくはずです。

于 2013-03-22T11:24:19.587 に答える