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
.