ButtonGroup QML 类型
互斥的复选按钮组。更多...
| 导入说明 | import QtQuick.Controls | 
| 继承 | 
属性
- buttons : list<AbstractButton>
- checkState : enumeration (since QtQuick.Controls 2.4 (Qt 5.11))
- checkedButton : AbstractButton
- exclusive : bool (since QtQuick.Controls 2.3 (Qt 5.10))
附加属性
- group : ButtonGroup
信号
- clicked(AbstractButton button) (since QtQuick.Controls 2.1 (Qt 5.8))
方法
- void addButton(AbstractButton button)
- void removeButton(AbstractButton button)
详细说明
ButtonGroup 是一个非视觉的、互斥的按钮组。它与类似 RadioButton 的控件一起使用,每次只能选择一个选项。
使用 ButtonGroup 的最简单方法是分配按钮列表。例如,一个 位置器 或管理一组互斥按钮的布局的子列表。
ButtonGroup {
    buttons: column.children
}
Column {
    id: column
    RadioButton {
        checked: true
        text: qsTr("DAB")
    }
    RadioButton {
        text: qsTr("FM")
    }
    RadioButton {
        text: qsTr("AM")
    }
}互斥按钮不一定共享相同的父项,或者父布局有时可能包含不应在按钮组中包含的项目。这些情况最好使用 group 附加属性来处理。
ButtonGroup { id: radioGroup }
Column {
    Label {
        text: qsTr("Radio:")
    }
    RadioButton {
        checked: true
        text: qsTr("DAB")
        ButtonGroup.group: radioGroup
    }
    RadioButton {
        text: qsTr("FM")
        ButtonGroup.group: radioGroup
    }
    RadioButton {
        text: qsTr("AM")
        ButtonGroup.group: radioGroup
    }
}可以使用 addButton() 和 removeButton() 方法处理更复杂的使用场景。
另请参阅 RadioButton 和 按钮控件。
属性说明
| buttons : list<AbstractButton> | 
此属性保存按钮列表。
ButtonGroup {
    buttons: column.children
}
Column {
    id: column
    RadioButton {
        checked: true
        text: qsTr("Option A")
    }
    RadioButton {
        text: qsTr("Option B")
    }
}另请参阅 group。
| 
checkState : enumeration  | 
此属性保存按钮组的组合复选状态。
可用状态
| 常数 | 描述 | 
|---|---|
| Qt.Unchecked | 没有按钮被选中。 | 
| Qt.PartiallyChecked | 一些按钮被选中。 | 
| Qt.Checked | 所有按钮都被选中。 | 
将非排他性按钮组的选中状态设置为Qt.Unchecked或Qt.Checked分别取消选中或选中该组中的所有按钮。忽略Qt.PartiallyChecked。
将排他性按钮组的选中状态设置为Qt.Unchecked将取消选中checkedButton。忽略Qt.Checked和Qt.PartiallyChecked。
此属性自QtQuick.Controls 2.4 (Qt 5.11)引入。
| checkedButton : AbstractButton | 
| 
exclusive : bool  | 
此属性保留按钮组是否为排他性。默认值为true。
如果此属性为true,则在任何给定时间内组中只能有一个按钮可以被选中。用户可以点击任何按钮以选中它,并且该按钮将替换组中现有的被选中的按钮。
在排他性组中,用户不能通过点击当前选中的按钮来取消选中该按钮;相反,必须点击组中的另一个按钮来设置该组的新选中按钮。
在非排他性组中,选中或取消选按钮不会影响组中的其他按钮。此外,checkedButton属性的值为null。
此属性自QtQuick.Controls 2.3 (Qt 5.10)引入。
附加属性文档
| ButtonGroup.group : ButtonGroup | 
此属性将按钮附加到按钮组。
ButtonGroup { id: group }
RadioButton {
    checked: true
    text: qsTr("Option A")
    ButtonGroup.group: group
}
RadioButton {
    text: qsTr("Option B")
    ButtonGroup.group: group
}另请参阅 buttons。
信号文档
| 
 | 
当组中的button被点击时发出此信号。
此信号适用于实现同一组中所有按钮的通用信号处理程序。
ButtonGroup {
    buttons: column.children
    onClicked: console.log("clicked:", button.text)
}
Column {
    id: column
    Button { text: "First" }
    Button { text: "Second" }
    Button { text: "Third" }
}注意: 相应处理程序是onClicked。
此信号自QtQuick.Controls 2.1 (Qt 5.8)引入。
另请参阅 AbstractButton::clicked。
方法文档
| void addButton(AbstractButton button) | 
| void removeButton(AbstractButton button) | 
© 2024 Qt公司有限公司。此文档中包含的贡献文档的版权属于其各自的所有者。此文档的提供受 GNU自由文档许可证第1.3版 条款约束,由自由软件基金会发布。Qt及其相应的标志是芬兰及其它国家Qt公司的商标。所有其他商标归属各自所有者。