статью не читал еще
Как выяснилось, способ, который я применил в статье, не работает. Точнее — в моем примере работает, но в более сложных случаях будет глючить... Так что — вопрос остается открытым...
при наличии сложной семантики добавления/удаления элементов,
проще перещитать самому persistentIndexList у модели и заэмитить нужные сигналы,
где-то тут я уже об этом подробнее писал.
Ммм... Имеется в виду, как я понимаю, вот это:
если невозможно использовать эти функции то алгоритм такой:
1. emit layoutAboutToBeChanged();
2. сохранить данные по индексам из persistentIndexList()
3. добавить/удалить элементы
4. пересчитать индексы в persistentIndexList() используя данные из 2. см changePersistentIndex()
5. emit layoutChanged();
Проблема в том, что там еще где-то вызывается сигнал
rowsInserted, про который сказано, что юзер его вызывать не должен, а токмо через
begin/endInsertRows...