QML ButtonGroup怎么互斥Rectangle
时间: 2024-05-04 10:19:32 浏览: 156
QML中的ButtonGroup可以用来管理一组按钮,使它们成为互斥的选项。如果你想要在ButtonGroup中的按钮被选中时,相应的Rectangle也被选中,可以尝试以下代码:
```qml
ButtonGroup {
id: group
exclusive: true //设置为互斥
Button {
text: "Button 1"
checked: true //默认选中
onClicked: rect1.checked = true //点击时选中相应的Rectangle
}
Rectangle {
id: rect1
color: group.checkedButton === button1 ? "red" : "gray" //当Button1被选中时显示红色
height: 50
width: 50
}
Button {
id: button2
text: "Button 2"
onClicked: rect2.checked = true //点击时选中相应的Rectangle
}
Rectangle {
id: rect2
color: group.checkedButton === button2 ? "red" : "gray" //当Button2被选中时显示红色
height: 50
width: 50
}
}
```
在上面的代码中,我们首先创建了一个ButtonGroup,并将其exclusive属性设置为true,使得其中的按钮成为互斥的选项。然后,我们创建了两个Button和相应的Rectangle。当Button被选中时,我们使用onClicked事件将相应的Rectangle的checked属性设置为true,以便在选中时显示它。最后,我们使用三元运算符来检查哪个按钮被选中,然后为相应的Rectangle设置颜色。
使用上述代码,当你点击一个按钮时,它相应的Rectangle将被选中,并显示为红色。其他的Rectangle将被取消选中,并显示为灰色。
阅读全文