Тип ExclusiveGroup QML
ExclusiveGroup предоставляет способ объявления нескольких элементов управления с возможностью выбора как взаимоисключающих. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 1.4 |
Свойства
- current : объект
Методы
- void bindCheckable(объект)
- void unbindCheckable(объект)
Подробное описание
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 : объект
Текущий выбранный объект. По умолчанию это первый отмеченный объект, связанный с ExclusiveGroup. Если такового нет, по умолчанию это null.
Документация по методам
void bindCheckable(объект)
Регистрирует объект в группе исключения.
Вызывать эту функцию необходимо только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.
См. также ExclusiveGroup::unbindCheckable().
void unbindCheckable(объект)
Дерегистрирует объект из группы исключения.
Вызывать эту функцию необходимо только при создании компонента, который вы хотите сделать совместимым с ExclusiveGroup.
См. также ExclusiveGroup::bindCheckable().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtquick-controls-exclusivegroup.html