ExclusiveGroup QML Type

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, e.g. 动作 , 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
        }
    }
}
					
					

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() ,或 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.

特性文档编制

current : 对象

The currently selected object. Defaults to the first checked object bound to the ExclusiveGroup . If there is none, then it defaults to null .

方法文档编制

void bindCheckable ( object )

注册 object 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() .

void unbindCheckable ( object )

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 .

另请参阅 ExclusiveGroup::bindCheckable() .