Вьюха знает об обновлении только по сигналам модели.
Reset в данном случае - очень плохой метод, т.к. перетряхивает все данные модели.
Вам нужно использовать методы модели. Это стандартные методы модели, которые являются обёрткой для сигналов.
Для вставки новой строки beginInsert, endInsert. (row/column)
beginInsertRows(index(rowCount(),0), rowCount(), rowCount()+ 1);
// тут вставляете данные
rootItem->appendChild(item);
endInsertRows();
Для изменения уже существующих dataChanged.
rootItem->child(row)->infoStruct.name = name;
dataChanged(index(row,1),index(row,1));
Для удаления beginRemove, endRemove. (row/column)
Тут всё аналогично с инсертом.
Без использования этих методов модели бесполезны и даже вредны. Тут главное понять смысл их использования и потом всё легче лёгкого.