ButtonGroup QML 类型

互斥的复选按钮组。更多...

导入说明import QtQuick.Controls
继承

QtObject

属性

附加属性

信号

  • clicked(AbstractButton button) (since QtQuick.Controls 2.1 (Qt 5.8))

方法

详细说明

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 [since QtQuick.Controls 2.4 (Qt 5.11)]

此属性保存按钮组的组合复选状态。

可用状态

常数描述
Qt.Unchecked没有按钮被选中。
Qt.PartiallyChecked一些按钮被选中。
Qt.Checked所有按钮都被选中。

将非排他性按钮组的选中状态设置为Qt.UncheckedQt.Checked分别取消选中或选中该组中的所有按钮。忽略Qt.PartiallyChecked

将排他性按钮组的选中状态设置为Qt.Unchecked将取消选中checkedButton。忽略Qt.CheckedQt.PartiallyChecked

此属性自QtQuick.Controls 2.4 (Qt 5.11)引入。


checkedButton : AbstractButton

此属性保留排他性组中的当前选定按钮,如果没有或该组不是排他性的,则为null

默认情况下,它是添加到排他性按钮组中的第一个被选中的按钮。

另请参阅 exclusive


exclusive : bool [since QtQuick.Controls 2.3 (Qt 5.10)]

此属性保留按钮组是否为排他性。默认值为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


信号文档

[since QtQuick.Controls 2.1 (Qt 5.8)] clicked(AbstractButton button)

当组中的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)

向按钮组添加button

注意: 手动向按钮组添加对象通常是不必要的。使用buttons属性和group附加属性提供了方便的声明性语法。

另请参阅 buttonsgroup


void removeButton(AbstractButton button)

从按钮组中删除button

注意: 通常不需要手动从按钮组中删除对象。属性 buttons 和附加属性 group 提供了一种便捷和声明的语法。

另请参阅 buttonsgroup


© 2024 Qt公司有限公司。此文档中包含的贡献文档的版权属于其各自的所有者。此文档的提供受 GNU自由文档许可证第1.3版 条款约束,由自由软件基金会发布。Qt及其相应的标志是芬兰及其它国家Qt公司的商标。所有其他商标归属各自所有者。