Qt 如何访问特定组件
我编写了一个小的QML应用程序,它将在每次单击按钮时创建一个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
组件的对象
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...
}
}