C++ QML和C++;:如何传递导出的C++;对象到导出的C++;上课?
我导出了一个C++ QML和C++;:如何传递导出的C++;对象到导出的C++;上课?,c++,qt,qml,C++,Qt,Qml,我导出了一个C++类和对象,如下所示: int main(int argc, char *argv[]) { QGuiApplication app(argc, argv); QtQuick2ApplicationViewer viewer; viewer.setMainQmlFile(QStringLiteral("qml/QQuickViewExample/main.qml")); viewer.showExpanded(); //object e
C++
类和对象,如下所示:
int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
QtQuick2ApplicationViewer viewer;
viewer.setMainQmlFile(QStringLiteral("qml/QQuickViewExample/main.qml"));
viewer.showExpanded();
//object export
ClassA classA(QString stuff);
QQmlContext* context = viewer.engine()->rootContext();
context->setContextProperty("_classA", &classA);
//class export
qmlRegisterType<ClassB>("CustomComponents", 1, 0, "ClassB");
return app.exec();
}
intmain(intargc,char*argv[])
{
QGUI应用程序应用程序(argc、argv);
QTQuick2应用程序查看器;
setMainQmlFile(QStringLiteral(“qml/QQuickViewExample/main.qml”);
viewer.showExpanded();
//对象导出
ClassA ClassA(QString stuff);
QQmlContext*context=viewer.engine()->rootContext();
context->setContextProperty(“\u classA”和&classA);
//类导出
qmlRegisterType(“CustomComponents”,1,0,“ClassB”);
返回app.exec();
}
我将创建任意数量的
QML
对象,其中嵌入ClassB
。我希望每个ClassB
都有一个指向该程序中存在的1ClassA
的引用或指针。当我在QML
对象中初始化ClassB
时,如何在QML
中获取ClassA
的引用,以便ClassB
可以使用ClassA
?您必须更改操作顺序:
B{aPtr:_classA}
- 对于SMTH出现在QML源中并用于实例化类,必须首先注册那些类(C++ QML插件也可以这样做)
- 如果项依赖于上下文属性的存在,则应仅在设置上下文属性后创建它们
<> P>有一些方法可以用C++从手创建、父和线,我相信,但是这将是一个非常黑暗的艺术的例子(想想从JS表达式手工创建绑定,创建上下文,然后实例化项目…)在野外从未见过:)你必须改变行动顺序:
B{aPtr:_classA}
- 对于SMTH出现在QML源中并用于实例化类,必须首先注册那些类(C++ QML插件也可以这样做)
- 如果项依赖于上下文属性的存在,则应仅在设置上下文属性后创建它们
<> P>有一些方法可以用C++从手创建、父和线,我相信,但是这将是一个非常黑暗的艺术的例子(想想从JS表达式手工创建绑定,创建上下文,然后实例化项目…)从未在野外见过:)您必须更改操作顺序:1)注册B 2)在根上下文上设置实例C)加载源;在源代码中,实例化B{aPtr:_classA}。就这些:)这把它修好了!如果你把你的评论变成答案,我会给你正确的答案。欢迎:)祝你好运!您必须更改操作顺序:1)注册B 2)在根上下文上设置实例C)加载源;在源代码中,实例化B{aPtr:_classA}。就这些:)这把它修好了!如果你把你的评论变成答案,我会给你正确的答案。欢迎:)祝你好运!是否可以将aPtr定义为ClassB中的const?我尝试过这样做,但我得到了构建错误。我想在ClassB里面有一个ClassA的常量指针,这样ClassB就不会弄乱任何东西了@trianta2如果为了这个目的首先创建了一个ClassA的单例实例,我想是的。有可能将aPtr定义为ClassB内部的const吗?我尝试过这样做,但我得到了构建错误。我想在ClassB里面有一个ClassA的常量指针,这样ClassB就不会弄乱任何东西了@trianta2如果首先为此目的创建ClassA的单例实例,我认为是的。