이 페이지에서

ButtonGroup QML Type

상호 배타적인 선택 가능 버튼 그룹. 더 보기...

Import Statement: import QtQuick.Controls
Inherits:

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
    }
}

또 다른 방법은 자식 목록을 필터링하는 것입니다. 리피터를 사용하여 목록을 채우는 경우 특히 유용합니다. 리피터 역시 부모 레이아웃의 자식이 되기 때문입니다:

ButtonGroup {
    buttons: column.children.filter((child) => child !== repeater)
}

Column {
    id: column

    Repeater {
        id: repeater
        model: [ qsTr("DAB"), qsTr("AM"), qsTr("FM") ]
        RadioButton {
            required property string modelData
            text: modelData
        }
    }
}

보다 고급 사용 사례는 ` addButton() ` 및 ` removeButton() ` 메서드를 사용하여 처리할 수 있습니다.

RadioButton 및 Button 컨트롤항목도 참조하십시오 .

속성 문서

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.Unchecked 또는 Qt.Checked 로 설정하면, 그룹 내의 모든 버튼 선택이 해제되거나 선택됩니다. Qt.PartiallyChecked 는 무시됩니다.

배타적 버튼 그룹의 선택 상태를 Qt.Unchecked 으로 설정하면 checkedButton 의 선택이 해제됩니다. Qt.Checked 와 Qt.PartiallyChecked 는 무시됩니다.

이 속성은 QtQuick.Controls 2.4(Qt 5.11)에서 도입되었습니다.

checkedButton : AbstractButton

이 속성은 배타적 그룹(exclusive group) 내에서 현재 선택된 버튼을 저장하거나, 그룹이 없거나 비배타적(non-exclusive)인 경우에는 ‘선택된 버튼’( 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 [attached]

이 속성은 버튼 그룹에 버튼을 추가합니다.

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: button => {
        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 ` 첨부 속성을 사용하면 편리하고 선언적인 구문을 사용할 수 있습니다.

buttons 및 group도 참조하십시오 .

void removeButton(AbstractButton button)

버튼 그룹에서 ‘ button ’을 제거합니다.

참고: 일반적으로 버튼 그룹에서 개체를수동으로 제거할 필요는 없습니다. ` buttons ` 속성과 ` group ` 부착 속성을 사용하면 편리하고 선언적인 구문을 사용할 수 있습니다.

buttons 및 group도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.