¿Cuáles son las desventajas de un QAbstractListModel que contiene objetos en QML?

Qt ofrece la posibilidad de combinar modelos C ++ con QMLy sugiere tres enfoques en los documentos:

QStringListQObjectListQAbstractItemModel

Los dos primeros son extremadamente fáciles de usar, p.QObjectList:

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

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

pero ambos vienen con una fuerte advertencia:

Nota: No hay forma de que la vista sepa que el contenido de una QList ha cambiado. Si la QList cambia, es necesario restablecer el modelo [...]

QAbstractItemModel es difícil de usar con objetos porque las propiedades de los objetos no están expuestas directamente y, por lo tanto, mantenerlas sincronizadas requiere bastante esfuerzo.

Sin embargo, es posible envolver unQList en unQAbstractItemModel y obtener un modelo super simple. Mira aquí:Implementación 1, Implementación 2

¿Hay alguna razón por la cual Qt no implementa esto de forma nativa? ¿Actuación? Problemas de gestión de memoria? Parece una idea tan obviamente buena y conObjectModel Ya implementan algo similar.

Respuestas a la pregunta(1)

Su respuesta a la pregunta