两者都可以动态创建对象
什么时候应该优先Loader
优先于Qt.createQmlObject
,反之亦然?
答案 0 :(得分:0)
Loader
可以视为特定对象的占位符。它还使您能够通过Loader
的id引用底层对象。
Qt.createQmlObject
通常比Loader
更强大,因为您可以根据需要实例化任意数量的对象,并且它没有Loader
的开销。但是你必须注意跟踪你创建的内容以便能够引用它。
其他函数Qt.createComponent()
然后createObject()
提供了类似的优势,并且可以传递要在对象创建中使用的属性,而不是仅在创建它们之后设置它们。
我个人在Loader
中看到的很少,如果在生产代码中很少使用它。 IMO是为了“非程序员”而引入的,就像最近的大多数开发一样,比如新的设计器和QML .ui
文件,我觉得有点讨厌,但这是可以理解的 - 试图增加非程序员的采用率。