Russian Qt Forum

Qt => Qt Quick => Тема начата: BuRn от Июль 30, 2015, 15:24



Название: Какие-то непонятки с QAbstractlistmodel
Отправлено: BuRn от Июль 30, 2015, 15:24
Добрый день товарищи. Вопрос к тем кто имел дело с протягиванием моделей из плюсов в 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 )
Проблемы нет. Сталкивался кто ?