У меня есть QtApp
& чистая библиотека C++. Библиотека C++ предоставляет один простой класс под названием MyCppLibApiClass
. Класс QtApp
имеет класс, который встроен в main.qml
. Ниже класс:Как установить чистый экземпляр объекта C++ в QQuickItem
class MyQuickItem : public QQuickItem {
MyQuickItem();
}
После qml
код для quick item
:
import MyQuickItem 1.0
MyQuickItem {
id: myQuickItemID
visible: true
objectName: "myQuickItem"
}
Ниже приводится мой main.cpp
показывая я загружаю qml
деталь:
qmlRegisterType<MyQuickItem>("MyQuickItem", 1, 0, "MyQuickItem");
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
return app.exec();
MyQuickItem
необходим доступ к MyCppLibApiClass
пример. Как я могу получить действительный экземпляр до MyQuickItem
в main.cpp
? Мне нужно установить объект MyCppLibApiClass
в качестве участника в MyQuickItem
. Я могу сделать это, используя метод setter. Но, прежде всего, мне нужно получить действительный экземпляр до MyQuickItem
. Итак Как добраться до MyQuickItem
в main.cpp
?
Я искал достаточно, прежде чем задавать этот вопрос. Я прочитал это link. Кроме того, This вопрос, отправленный мной, не дал мне точного ответа. Следовательно, перефразируя мой вопрос более четко, чтобы попытаться получить ответ. Цените предложения этого ..
Чтобы выставить свой класс в QML, вы должны получить его из t наименьший QObject (или из QQuickItem, если это видимый элемент). В другом случае вы можете обернуть его в QObject и, таким образом, подвергнуть его QML, используя 'qmlRegisterType' – folibis
, как вы видите в моем вопросе, я уже вывел' MyQuickItem' из 'QQuickItem'. Теперь, как мне получить доступ к экземпляру 'MyQuickItem' в' main.cpp'? –
Что это значит? если вы выставляете свой класс QML с помощью 'qmlRegisterType', вы не должны его вводить. Он будет представлен QML. – folibis