首页 > 解决方案 > 动态创建一个类型的 QML 对象

问题描述

Qt.createComponent(...)只接受自定义组件的 URL,但我如何创建一个Item类型的组件?

我想要类似Qt.createComponent(Item)or的东西Qt.createComponent("Item"),但这些不起作用。我真的不需要一个组件,因为我想得到一个对象作为结果,所以也许有类似的东西Item.createObject(...)

标签: qtqml

解决方案


您可以静态创建组件,并从中动态创建对象。这是你要找的吗?

Component {
    id: itemComp
    Item {}
}

Component.onCompleted:  {
    var item1 = itemComp.createObject(parentObj)
    var item2 = itemComp.createObject(parentObj)
    ... // etc...
}

推荐阅读