应该何时首选Loader而不是createQmlObject,反之亦然 - QML?

时间:2015-03-10 09:36:33

标签: qt qml qt-quick

两者都可以动态创建对象 什么时候应该优先Loader优先于Qt.createQmlObject,反之亦然?

1 个答案:

答案 0 :(得分:0)

Loader可以视为特定对象的占位符。它还使您能够通过Loader的id引用底层对象。

Qt.createQmlObject通常比Loader更强大,因为您可以根据需要实例化任意数量的对象,并且它没有Loader的开销。但是你必须注意跟踪你创建的内容以便能够引用它。

其他函数Qt.createComponent()然后createObject()提供了类似的优势,并且可以传递要在对象创建中使用的属性,而不是仅在创建它们之后设置它们。

我个人在Loader中看到的很少,如果在生产代码中很少使用它。 IMO是为了“非程序员”而引入的,就像最近的大多数开发一样,比如新的设计器和QML .ui文件,我觉得有点讨厌,但这是可以理解的 - 试图增加非程序员的采用率。