ExclusiveGroup provides a way to declare several checkable controls as mutually exclusive. More...
| Import Statement: | import QtQuick.Controls 1.4 |
ExclusiveGroup can contain several Action 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, e.g. Action, MenuItem, Button, and RadioButton.
As ExclusiveGroup only supports Action 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(), or 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.
Register object to the exclusive group.
You should only need to call this function when creating a component you want to be compatible with ExclusiveGroup.
See also ExclusiveGroup::unbindCheckable().
Unregister object from the exclusive group.
You should only need to call this function when creating a component you want to be compatible with ExclusiveGroup.
See also ExclusiveGroup::bindCheckable().
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: