Доступ к модели в С++ из QML
От: HammerSpb Россия  
Дата: 01.03.11 13:43
Оценка:
Создал простой проектик, в котором требуется на QML отобразить простой список данных.

Создаю модель в C++ на основе QAbstractListModel
Прописываю нужные роли и реализую функции.

После чего создаю свою view-ху на основе QML.
Через некоторое время подключаю модель из С++.

Проблема в том, что во время создания view-хи на основе QML, мне выдается предупреждение что нужной модели нету (то есть AML не может инициализировать соответствующие поля), что собственно и правильно.

Но после того как я подключаю модель, она подгружается в первый раз в QML, но вот манипулировать ею (получить определенные поля) я не могу.

Кто нибудь сталкивался с подобной проблемой?
Re: Доступ к модели в С++ из QML
От: jobdead  
Дата: 02.03.11 14:06
Оценка:
HS>Проблема в том, что во время создания view-хи на основе QML, мне выдается предупреждение что нужной модели нету (то есть AML не может инициализировать соответствующие поля), что собственно и правильно.

Я сам только начал разбираться с QML.
А Вы пробывали добавить объект вашей модели в контекст в C++:

int main(int argc, char *argv[])
{
QApplication app(argc, argv);

QDeclarativeView view(QUrl("test.qml"));

MyModel *model = new MyModel;
view.rootContext()->setContextProperty("myModel", model);

view.show();
}


А дальше в qml передаем во вьюшку модель:

ListView
{
id: treeView
width: 500
height: 500
//Задаем делегата
delegate: treeDelegate
//Задаем модель, этот объект позже придет из C++
model: myModel
//Компонент делегата
...
}

Вообщем как-то так
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.