QML:使用onclick设置矩形的颜色



一般来说,我对QT和QML比较陌生。我看到过一些例子,当按下矩形时,可以更改一些外部对象(如文本)的颜色。然而,我想做一些相关的,但不同的事情。

设置:

我想要一个矩形网格。比方说5x5网格。所有这些矩形都可以是蓝色的。尺寸并不重要。

示例:

  • 如果我在(0,0)按下矩形,它的颜色应该变为红色
  • 如果我在(0,1)处按下矩形,它的颜色也应该变为红色
  • 如果矩形是红色的,我按下它,它应该会恢复为蓝色

理想情况下,我也想知道哪些矩形是红色,哪些是蓝色。希望我以后能弄清楚。就目前而言,如果有人能帮我从改变颜色开始,那将非常有用。只要知道如何在按下单个矩形时更改其颜色,就会非常有帮助。提前谢谢!

Item {
id: root
width: 500
height: 500
Column {
Repeater {
id: column
model: 5
Row {
Repeater {
id: row
model: 5
Rectangle {
id: rect
property bool isBlue: true
width: 100
height: 100
color: isBlue ? "blue" : "red"
border.color: "white"
border.width: 5
Text {
font.pixelSize: 15
anchors.centerIn: parent
text: rect.isBlue ? "blue" : "red"
color: "white"
}
MouseArea {
anchors.fill: parent
onClicked: {
rect.isBlue = !rect.isBlue
}
}
}
}
}
}
}

}

相关内容

  • 没有找到相关文章

最新更新