У меня есть приложение Qt, для которого я получил свой собственный класс модели из QAbstractTableModel . Я реализовал необходимые методы, как указано в документации 1004 *. Когда я вызываю метод removeRows , изменения корректны в моем представлении (удаляются строки, которые я хотел удалить).
Но почему-то операции над моделью, похоже, не распространяются на QList, который я использую в модели для хранения своих данных. Когда я сохраняю значения, хранящиеся в QList, на диск, похоже, что ничто не было стерто с него с помощью removeRows.
Вот как выглядит моя реализация removeRows (она основана на коде из книги Расширенное программирование на Qt , Глава 3, с.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;
}
Как мне это исправить? Что я пропустил?
Спасибо!