Добрый день товарищи. Вопрос к тем кто имел дело с протягиванием моделей из плюсов в qml. Вообщем столкнулся со следующей ситуацией. Есть класс, наследние от модели, в другом классе, содержится экземпляр этой модели. Выглядит это так:
private:
Models::MessageModel _modelMessages;
Nume::Main *_core;
Так как QAbstractlistmodel не дает копировать, что в прнципе логично, я создал функцию которая возвращает эту модельку в qml.
Models::MessageModel* ContactMessage::getMessagesModel()
{
return &_modelMessages;
}
В qml создаются объекты типа ContactMessage которые хранят в себе по экземпляру модельки. При клике на контакт я беру нужный объект и вытаскиваю с помошью функции модель на этот объект. Все работает до следующего переключения. При клике первый раз, модель установилась, я увидел то, что хотел во вью, при клике второй раз, срабатывает деструктор модели, кто его вызвал для меня загадка, переключение объектов выглядит так :
property var messages: userMessager ? userMessager.getMessagesModel() : []
onCurrentIdUserChatChanged: {
selectedUser(currentIdUserChat)
userMessager = contactMessagerObjects.filter(function(e){
if(e.id==currentIdUserChat)
return true;
return false
})[0]
userMessager.loadMessages(20);
}
Но в случае если делать тоже самое, но только высунуть наружу свойства типа :
Q_PROPERTY(Models::MessageModel* messages READ getMessagesModel )
Проблемы нет. Сталкивался кто ?