ButtonGroup QML Type

Sich gegenseitig ausschließende Gruppe von ankreuzbaren Schaltflächen. Mehr...

Import Statement: import QtQuick.Controls
Inherits:

QtObject

Eigenschaften

Beigefügte Eigenschaften

Signale

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

Methoden

Detaillierte Beschreibung

ButtonGroup ist eine nicht visuelle, sich gegenseitig ausschließende Gruppe von Schaltflächen. Sie wird mit Steuerelementen wie RadioButton verwendet, bei denen jeweils nur eine der Optionen ausgewählt werden kann.

Der einfachste Weg, ButtonGroup zu verwenden, besteht darin, eine Liste von Schaltflächen zuzuweisen. Zum Beispiel die Liste der Kinder eines Positionierers oder eines Layouts, das eine Gruppe von sich gegenseitig ausschließenden Schaltflächen verwaltet.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("DAB")
    }

    RadioButton {
        text: qsTr("FM")
    }

    RadioButton {
        text: qsTr("AM")
    }
}

Sich gegenseitig ausschließende Schaltflächen haben nicht immer dasselbe übergeordnete Element, oder das übergeordnete Layout kann manchmal Elemente enthalten, die nicht in die Schaltflächengruppe aufgenommen werden sollten. Solche Fälle werden am besten mit der Eigenschaft group gehandhabt.

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

Eine weitere Möglichkeit besteht darin, die Liste der untergeordneten Elemente zu filtern. Dies ist besonders praktisch, wenn Sie einen Repeater zum Auffüllen der Liste verwenden, da der Repeater ebenfalls ein Kind des übergeordneten Layouts ist:

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

Weitergehende Anwendungsfälle können mit den Methoden addButton() und removeButton() behandelt werden.

Siehe auch RadioButton und Button Controls.

Eigenschaft Dokumentation

buttons : list<AbstractButton>

Diese Eigenschaft enthält die Liste der Schaltflächen.

ButtonGroup {
    buttons: column.children
}

Column {
    id: column

    RadioButton {
        checked: true
        text: qsTr("Option A")
    }

    RadioButton {
        text: qsTr("Option B")
    }
}

Siehe auch group.


checkState : enumeration [since QtQuick.Controls 2.4 (Qt 5.11)]

Diese Eigenschaft enthält den kombinierten Prüfstatus der Schaltflächengruppe.

Verfügbare Zustände:

KonstantBeschreibung
Qt.UncheckedKeine der Schaltflächen ist aktiviert.
Qt.PartiallyCheckedEinige der Schaltflächen sind aktiviert.
Qt.CheckedAlle Schaltflächen sind aktiviert.

Wenn Sie den Prüfstatus einer nicht exklusiven Schaltflächengruppe auf Qt.Unchecked oder Qt.Checked setzen, werden alle Schaltflächen in der Gruppe geprüft bzw. nicht geprüft. Qt.PartiallyChecked wird ignoriert.

Das Setzen des Prüfstatus einer exklusiven Schaltflächengruppe auf Qt.Unchecked hebt die Prüfung der checkedButton auf. Qt.Checked und Qt.PartiallyChecked werden ignoriert.

Diese Eigenschaft wurde in QtQuick.Controls 2.4 (Qt 5.11) eingeführt.


checkedButton : AbstractButton

Diese Eigenschaft hält den aktuell ausgewählten Button in einer exklusiven Gruppe, oder null wenn es keine gibt oder die Gruppe nicht exklusiv ist.

Standardmäßig ist es die erste markierte Schaltfläche, die zu einer exklusiven Schaltflächengruppe hinzugefügt wurde.

Siehe auch exclusive.


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

Diese Eigenschaft gibt an, ob die Schaltflächengruppe exklusiv ist. Der Standardwert ist true.

Wenn diese Eigenschaft true lautet, kann immer nur eine Schaltfläche in der Gruppe geprüft werden. Der Benutzer kann auf eine beliebige Schaltfläche klicken, um sie zu markieren, und diese Schaltfläche ersetzt die vorhandene Schaltfläche als markierte Schaltfläche in der Gruppe.

In einer exklusiven Gruppe kann der Benutzer die Markierung der aktuell markierten Schaltfläche nicht durch Anklicken aufheben; stattdessen muss eine andere Schaltfläche in der Gruppe angeklickt werden, um die neue markierte Schaltfläche für diese Gruppe festzulegen.

In einer nicht-exklusiven Gruppe wirkt sich das Aktivieren und Deaktivieren von Schaltflächen nicht auf die anderen Schaltflächen der Gruppe aus. Außerdem ist der Wert der Eigenschaft checkedButton null .

Diese Eigenschaft wurde in QtQuick.Controls 2.3 (Qt 5.10) eingeführt.


Dokumentation der Eigenschaft Attached

ButtonGroup.group : ButtonGroup

Diese Eigenschaft fügt eine Schaltfläche an eine Schaltflächengruppe an.

ButtonGroup { id: group }

RadioButton {
    checked: true
    text: qsTr("Option A")
    ButtonGroup.group: group
}

RadioButton {
    text: qsTr("Option B")
    ButtonGroup.group: group
}

Siehe auch buttons.


Signal-Dokumentation

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

Dieses Signal wird ausgegeben, wenn ein button in der Gruppe angeklickt wurde.

Dieses Signal ist praktisch für die Implementierung eines gemeinsamen Signalhandlers für alle Schaltflächen in derselben Gruppe.

ButtonGroup {
    buttons: column.children
    onClicked: button => {
        console.log("clicked:", button.text)
    }
}

Column {
    id: column
    Button { text: "First" }
    Button { text: "Second" }
    Button { text: "Third" }
}

Hinweis: Der entsprechende Handler ist onClicked.

Dieses Signal wurde in QtQuick.Controls 2.1 (Qt 5.8) eingeführt.

Siehe auch AbstractButton::clicked().


Methode Dokumentation

void addButton(AbstractButton button)

Fügt eine button zur Buttongruppe hinzu.

Hinweis: Das manuelle Hinzufügen von Objekten zu einer Schaltflächengruppe ist normalerweise nicht notwendig. Die buttons Eigenschaft und die group attached Eigenschaft bieten eine bequeme und deklarative Syntax.

Siehe auch buttons und group.


void removeButton(AbstractButton button)

Entfernt eine button aus der Schaltflächengruppe.

Hinweis: Das manuelle Entfernen von Objekten aus einer Schaltflächengruppe ist in der Regel nicht erforderlich. Die Eigenschaft buttons und die angehängte Eigenschaft group bieten eine bequeme und deklarative Syntax.

Siehe auch buttons und group.


© 2025 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.