Russian Qt Forum

Qt => Общие вопросы => Тема начата: fear от Февраль 28, 2007, 11:52



Название: Удаление нескольких элементов из модели
Отправлено: fear от Февраль 28, 2007, 11:52
Есть модель таблицы, в которой описан метод удаления элемента
Код:
void TableModel::deleteItem(const QModelIndex &index)
{
  ...

  beginRemoveRows(QModelIndex(), realParamIndex.row(), realParamIndex.row());
  parameters_.erase(parameters_.begin() + index.row());
  delete param;
  endRemoveRows();

  return true;
}


метод работает на ура, но когда необходимо удалить несколько выделеных элементов происходит следующее. Элементы в TreeView удаляются но на их месте остаётся одна пустая строка.

Удалением нескольких индексов занимается метод:
Код:

bool TableModel::deleteItems(const QModelIndexList &indexes)
{
  for(int i=0; i<indexes.size(); i++)
    deleteItem(indexes[i]);

  return true;
}