роль и никакой поиск, нет необходимости реализовывать сигналы изменения данных для ролей и так далее ... просто peasy

едлагает возможность комбинировать модели C ++ с QMLи предлагает три подхода в документах:

QStringListQObjectListQAbstractItemModel

Два первых чрезвычайно просты в использовании, например,QObjectList:

// in C++
QList<QObject*> dataList;
dataList.append(new DataObject("Item 1", "red"));

// in QML
ListView {
    model: dataList
    delegate: Text { text: name }
}

но они оба приходят с сильным предостережением:

Примечание. Представление не может знать, что содержимое QList изменилось. Если QList изменяется, необходимо сбросить модель [...]

QAbstractItemModel Трудно использовать с объектами, потому что свойства объектов не отображаются напрямую, и поэтому их синхронизация требует значительных усилий.

Тем не менее, можно обернутьQList вQAbstractItemModel и получить супер простую модель. Посмотреть здесь:Реализация 1, Реализация 2

Есть ли причина, почему Qt не реализует это изначально? Спектакль? Проблемы с управлением памятью? Кажется, такая явно хорошая идея и сObjectModel они уже реализуют нечто подобное.

Ответы на вопрос(1)

Ваш ответ на вопрос