Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Scarecrow от Август 10, 2018, 15:51



Название: Работа с моделями
Отправлено: Scarecrow от Август 10, 2018, 15:51
Добрый день!
Вопрос следующий.

Если некоторая трехуровневая модель вида (сделана через QStandardItemModel):

- автомобиль1
- - деталь1
- - деталь2
- - - цвет
- - - размер
- - деталь 3
- - - размер
- автомобиль 2
- - деталь 1
- - - цвет
- -деталь 2

На нее также натравлена прокси модель для сортировки и фильтрации.

В процессе работы программы дерево постоянно обновляется, туда заносятся или удаляются данные. Причем на любом уровне модели (то есть может занестись только цвет или все данные по автомобилю).

Так как модель заполняется по ходу работы программы, то получается небезопасный доступ. Данные добавляются через insertRow(без использования beginInsertRow , EndInsertRow).

Как лучше организовать такой процесс? Создать свой класс модели, унаследовав от QStandartItemModel? Или от QAbsractItemModel? Как сделать безопасную вставку? И обновлять прокси модель при добавлении новых данных?