连接到通过单个 Qt.createComponent 调用创建的所有 QML 对象

Connect to all QML objects created via single Qt.createComponent call

问题

如何创建 QML 组件,使组件创建的所有对象都以相同的方式连接?

例如我希望 thirdPartyAPI 创建的所有对象的 triggered 信号连接到 onTriggered 插槽:

function onTriggered() { }
thirdPartyAPI.factory = Qt.createComponent("Trigger.qml")

为什么?

我知道我可以创建组件,然后通过组件创建对象,然后参数化(连接和设置属性)每个创建的对象。

我使用第 3 方 API,它采用组件并在内部创建对象。我可以控制组件的创建,但无法访问 Component.createObject 调用(它在 API 内)。

我想获得类似这样的效果:(我知道组件上没有 newObjectCreated 信号)

var factory = Qt.createComponent(...)
factory.onNewObjectCreated: {
  newInstance.triggered.connect(onTriggered)
}

您可以将对象创建过程包装到一些通用函数中,例如:

function createMyObject(component, parent, params)
{
    var compo = Qt.createComponent(component);
    var obj = compo.createObject(parent, params);
    obj.customSignal.connect(onInstanceTriggered);
}