ЛОР, доброго времени суток.
Вопрос такой. Есть ли возможность пользоваться в QML теми же классами, которые я использую в С++?
Уточню. Я знаю, есть много примеров экспорта типов в QML, так, чтобы ими можно было пользоваться как QML-объектами, но я хочу немного не того.
В примерах обычно даётся такое:
qmlRegisterType<Class>("my.class"...."Class")
import my.class 1.0
Class {
name: "hello"
done: true
}
Мне нужно, чтобы этот класс можно было использовать в том числе и в Javascript-вставках QML (как это сейчас с QVariant, например), т.е.
Q_INVOKABLE addItem(ItemClass item);
...
onCheckedChanged: ItemHandler.addItem(new ItemClass())
Как в таком случае нужно вынести класс ItemClass, чтобы QML его внятно понимал и мог инстанцировать в рантайме?
P.S. Я видел макрос QML_DECLARE_TYPE, но так и не нашёл внятного объяснения по его использованию.