据我所知,QML无法在QML组件中实例化C++类,除非它是QQuickItem。我不想将所有的ViewModels放在ViewEngine上下文中,因为这是非常糟糕的实际操作,无需使用就可以在内存中创建所有类。
我的问题是:如何在没有usnig ViewModel上下文的情况下,从单个ViewModel组件实例化ViewEngine ou服务/API。ViewModels必须是QQuickItem类型的吗?
发布于 2022-05-13 18:26:14
C++对象不需要是QQuickItems,它们需要是QObjects。您只需要在类中使用寄存器和QQmlEngine,如下所示:
qmlRegisterType<MyObject>("my.component.library", 1, 0, "MyObject");
然后,在qml文件中,可以像这样实例化该类:
import my.component.library 1.0
MyObject {
...
}
https://stackoverflow.com/questions/72233752
复制相似问题