Тип QML ExclusiveGroup
ExclusiveGroup предоставляет способ объявления нескольких элементов управления с возможностью выбора как взаимоисключающих. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 1.4 |
Свойства
- current : object
Методы
- void bindCheckable(object)
- void unbindCheckable(object)
Подробное описание
ExclusiveGroup может содержать несколько элементов Action, и для них автоматически будет назначено свойство Action::exclusiveGroup.
ExclusiveGroup {
id: radioInputGroup
Action {
id: dabRadioInput
text: "DAB"
checkable: true
}
Action {
id: fmRadioInput
text: "FM"
checkable: true
}
Action {
id: amRadioInput
text: "AM"
checkable: true
}
} Некоторые элементы управления уже поддерживают ExclusiveGroup, например, Action, MenuItem, Button и RadioButton.
Поскольку ExclusiveGroup поддерживает только Action в качестве дочерних элементов, нам необходимо вручную назначить свойство exclusiveGroup для других объектов.
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
}
}
} Добавление поддержки ExclusiveGroup
Можно добавить поддержку ExclusiveGroup для объекта или элемента управления. Он должен иметь свойство checked, и либо сигнал checkedChanged, toggled(), или toggled(bool). Он также должен быть связан с ExclusiveGroup::bindCheckable(), когда его свойство типа ExclusiveGroup задано.
Item {
id: myItem
property bool checked: false
property ExclusiveGroup exclusiveGroup: null
onExclusiveGroupChanged: {
if (exclusiveGroup)
exclusiveGroup.bindCheckable(myItem)
}
} Приведенный выше пример демонстрирует минимальный код, необходимый для добавления поддержки ExclusiveGroup для любого элемента.
Документация по свойствам
current : object
Текущий выбранный объект. По умолчанию это первый отмеченный объект, связанный с ExclusiveGroup. Если такого нет, то по умолчанию это null.
Документация по методам
void bindCheckable(object)
Зарегистрировать object в группе взаимоисключения.
Вы должны вызывать эту функцию только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.
См. также ExclusiveGroup::unbindCheckable().
void unbindCheckable(object)
Отменить регистрацию object из группы взаимоисключения.
Вы должны вызывать эту функцию только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.
См. также ExclusiveGroup::bindCheckable().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-controls-exclusivegroup.html