在Qt中用户在前端创建新对象的适当技术

时间:2017-04-25 18:04:10

标签: qt qml

我正在创建一个在前端使用Runnable来创建新对象qml的应用。适当的方法是创建一个onclicked辅助类,它只用于实例化我的其他类的新对象吗?

编辑:我想用QOBJECT从前端创建一个C ++对象。我没有创建qml对象。因此,如果我单击我的按钮,C ++将实例化一个新对象。这就是为什么我问我是否需要创建一个专门的qml类,它只有QOBJECT方法来创建我的其他类的新对象。

或者我应该只有一个类可以使用指针实例化自身的新对象?

1 个答案:

答案 0 :(得分:0)

最有效的解决方案是使用单身人士。它将避免工厂对象查找的开销,并且它不会将创建的对象与任何特定状态相关联,已知这种状态可以使用对象生存期。

此外,如果从C ++创建QML对象,则可以避免相当大的内存使用量膨胀。您还可以将C ++对象作为单例:

qmlRegisterSingletonType<YourSingleton>("Module", 1, 0, "Singleton", singletonFactoryCallback);