Qt 如何访问特定组件

Qt 如何访问特定组件,qt,qml,qtquick2,Qt,Qml,Qtquick2,我编写了一个小的QML应用程序,它将在每次单击按钮时创建一个组件的对象 import QtQuick 2.6 import QtQuick.Window 2.2 Window { id: mainWindow visible: true width: 1280 height: 720 property int idNumberCounter: 1 Component { id: testComponent R

我编写了一个小的QML应用程序,它将在每次单击按钮时创建一个
组件的对象

import QtQuick 2.6
import QtQuick.Window 2.2

Window {
    id: mainWindow
    visible: true
    width: 1280
    height: 720

    property int idNumberCounter: 1

    Component {
        id: testComponent

        Rectangle {
            id: rectangleMade
            property int idNumber: 0
            width: 100
            height: 100
            x: 100*idNumber
            border.color: "blue"
        }
    }

    //The button for creating
    Rectangle {
        id: buttonMakeRectangle
        color: "red"
        width: 50
        height: 50
        MouseArea {
            anchors.fill: parent
            onClicked: {
                testComponent.createObject(mainWindow,idNumber:mainWindow.idNumberCounter);
                mainWindow.idNumberCounter++;
            }
        }
    }
}
我现在想做的是有第二个按钮,例如用
idNumber=3
(如果可用)更改矩形的x值

是否有访问特定组件的方法

仅供参考:将
MouseArea
添加到“rectagleMade”并简单地执行那里的工作是不可能的,因为在实际应用中,这些矩形是通过另一个应用程序的dBus控制的。(它将是一个带有QtWayland的窗口管理器)


谢谢您的帮助。

您可以使用js阵列

Window {
    property var myList: []
    function createItem() {
        var item = testComponent.createObject(mainWindow, idNumber:mainWindow.idNumberCounter);
        myList.push(item);
        mainWindow.idNumberCounter++;
     }

     function doSomehting() {
        var item  = myList[3];
        // do something...
     }
}