ExclusiveGroup QML Type
ExclusiveGroup provides a way to declare several checkable controls as mutually exclusive. More...
| Import Statement: | import QtQuick.Controls 1.4 | 
Properties
- current : object
Methods
- void bindCheckable(object)
- void unbindCheckable(object)
Detailed Description
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
         }
     }
 }
Adding support to ExclusiveGroup
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.
Property Documentation
The currently selected object. Defaults to the first checked object bound to the ExclusiveGroup. If there is none, then it defaults to null.
Method Documentation
Registers 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().
Unregisters 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().