Название: QML - ReferenceError: Can't find variable: myModel Отправлено: warlock от Май 05, 2011, 12:08 Интересно получается. Написал интерфейс, бэкэнд на Qt для работы с БД. Писал свою небольшую модель. Установил контекст:
Код: rootContext()->setContextProperty("myModel",&myModel); Код: ListView { QML говорит мне что не может найти такую переменную, но все же данные "из этой переменной" отобразил. В чем может быть проблема? Название: Re: QML - ReferenceError: Can't find variable: myModel Отправлено: twp от Май 06, 2011, 19:37 Лучше сделать так
Код: rootContext()->setContextProperty("MyModel",&myModel); Код: MyModel { Название: Re: QML - ReferenceError: Can't find variable: myModel Отправлено: warlock от Май 06, 2011, 20:24 Спасибо за ответ!
Но откуда QML узнает про новый тип MyModel{} ? setContextProperty() делает видимым свойство, а не тип, если я не ошибаюсь. Я проверил, конечно, но "MyModel is not a type " говорит мне QML Название: Re: QML - ReferenceError: Can't find variable: myModel Отправлено: twp от Май 09, 2011, 11:44 перед установкой контекста нужно зарегистрировать MyModel:
Код: qmlRegisterType<myModel>("com.mycompany.qmlcomponents", 1, 0, "MyModel"); Код: import com.mycompany.qmlcomponents 1.0 Название: Re: QML - ReferenceError: Can't find variable: myModel Отправлено: warlock от Май 14, 2011, 13:42 twp, спасибо, прочитал, все получилось.
Правда теперь данные грузятся и без контекста. Т.е. я зарегистрировал свой тип и все. Название: Re: QML - ReferenceError: Can't find variable: myModel Отправлено: twp от Май 16, 2011, 13:21 twp, спасибо, прочитал, все получилось. а, ну да, в данном случае Правда теперь данные грузятся и без контекста. Т.е. я зарегистрировал свой тип и все. Код: rootContext()->setContextProperty("MyModel",&myModel); |