我有一个 Qt 应用程序,我从QAbstractTableModel派生了我自己的模型类。我已经实施了文档中规定的必要方法。当我调用removeRows方法时,我的视图中的更改是正确的(我想要删除的行已被删除)。
但不知何故,模型上的操作似乎没有传播到我在模型中用来存储数据的 QList。当我将存储在 QList 中的值保存到磁盘时,removeRows 似乎没有从其中删除任何内容。
这是我的 removeRows 实现的样子(它基于Advanced Qt Programming , Chapter 3, p.125 一书中的代码):
bool MyModel::removeRows(int row, int count, const QModelIndex&)
{
beginRemoveRows( QModelIndex(), row, row + count - 1);
for (int i = 0; i < count; ++i) {
mMyQList.removeAt(row);
}
endRemoveRows();
return true;
}
我该如何解决?我错过了什么?
谢谢!