テキストを含むことができる四角形の画面があります。これらの矩形のテキストコンテンツは、このコンポーネントが使用されている画面内のボタンをクリックすることで変更できるようにする必要があります。私が抱えている問題は、このコンポーネントが使用されている画面でどのインスタンスが選択されているかを知ることです。私はこの問題を解決するために、インスタンスのIDを参照として送信する信号を送信することを考えましたが、これはうまくいかないようです。どのようにこれを達成することができますか?ここに私のカスタム四角形コンポーネントQt QML:信号を発信するオブジェクトへの参照を取得する
Rectangle {
id: root
width: 50
height: 50
color: "#000000"
anchors.verticalCenter: parent.verticalCenter
border.color: "#555555"
property int value: 0
signal sendId(Item)
Text {
id: displayed_text
color: "#ffffff"
text: root.value
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
font.pixelSize: 15
}
MouseArea {
id: mouseArea
anchors.fill: parent
onClicked: {
root.border.color="#222222"
root.sendId(root.id)
}
}
}
、ここで他のボタンは、カスタムコンポーネントの内容を変更する必要がありますファイル:
property Item selected: myRectangle
function changeSelected(value) {
selected.value=5
}
function setSelected(it) {
root.selected=it
}
MyRectangle {
id: myRectangle
Component.onCompleted: {
myRectangle.sendId.connect(tempNumber.setSelected)
}
}
MyRectangle {
id: myRectangle1
Component.onCompleted: {
myRectangle1.sendId.connect(tempNumber.setSelected)
}
}
MyRectangle {
id: myRectangle2
Component.onCompleted: {
myRectangle2.sendId.connect(tempNumber.setSelected)
}
}
ありがとうございました! – numberCruncher