ExclusiveGroup provides a way to declare several checkable controls as mutually exclusive. 更多...
| import 语句: | import QtQuick.Controls 1.4 |
ExclusiveGroup can contain several 动作 items, and those will automatically get their Action::exclusiveGroup property assigned.
ExclusiveGroup {
id: radioInputGroup
Action {
id: dabRadioInput
text: "DAB"
checkable: true
}
Action {
id: fmRadioInput
text: "FM"
checkable: true
}
Action {
id: amRadioInput
text: "AM"
checkable: true
}
}
Several controls already support ExclusiveGroup ,如 动作 , MenuItem , Button ,和 RadioButton .
As
ExclusiveGroup
only supports
动作
as child items, we need to manually assign the
exclusiveGroup
property for other objects.
GroupBox {
id: group2
title: qsTr("Tab Position")
Layout.fillWidth: true
RowLayout {
ExclusiveGroup { id: tabPositionGroup }
RadioButton {
id: topButton
text: qsTr("Top")
checked: true
exclusiveGroup: tabPositionGroup
Layout.minimumWidth: 100
}
RadioButton {
id: bottomButton
text: qsTr("Bottom")
exclusiveGroup: tabPositionGroup
Layout.minimumWidth: 100
}
}
}
It is possible to add support for
ExclusiveGroup
for an object or control. It should have a
checked
property, and either a
checkedChanged
,
toggled()
,或
toggled(bool)
signal. It also needs to be bound with
ExclusiveGroup::bindCheckable()
when its
ExclusiveGroup
typed property is set.
Item {
id: myItem
property bool checked: false
property ExclusiveGroup exclusiveGroup: null
onExclusiveGroupChanged: {
if (exclusiveGroup)
exclusiveGroup.bindCheckable(myItem)
}
}
The example above shows the minimum code necessary to add ExclusiveGroup support to any item.
The currently selected object. Defaults to the first checked object bound to the
ExclusiveGroup
. If there is none, then it defaults to
null
.
注册
对象
to the exclusive group.
You should only need to call this function when creating a component you want to be compatible with
ExclusiveGroup
.
另请参阅 ExclusiveGroup::unbindCheckable() .
Unregister
对象
from the exclusive group.
You should only need to call this function when creating a component you want to be compatible with
ExclusiveGroup
.