Auf dieser Seite

ButtonGroup QML Type

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

Import Statement: import QtQuick.Controls
Inherits:

QtObject

Eigenschaften

Zugehörige Eigenschaften

Signale

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

Methoden

Ausführliche 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.

Die einfachste Art, „ButtonGroup“ zu verwenden, besteht darin, eine Liste von Schaltflächen zuzuweisen. Beispielsweise die Liste der untergeordneten Elemente eines Positioners oder eines Layouts, das eine Gruppe sich gegenseitig ausschließender 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 enthält manchmal Elemente, die nicht in die Schaltflächengruppe aufgenommen werden sollen. Solche Fälle lassen sich am besten mit der angehängten Eigenschaft „ group “ handhaben.

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 Befüllen der Liste verwenden, da der Repeater ebenfalls ein untergeordnetes Element 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
        }
    }
}

Fortgeschrittenere Anwendungsfälle lassen sich mit den Methoden „ addButton() “ und „ removeButton() “ bewältigen.

Siehe auch „ RadioButton “ und „Button Controls“.

Dokumentation zu den Eigenschaften

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 Kontrollstatus der Schaltflächengruppe.

Verfügbare Zustände:

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

Wird der Auswahlstatus einer nicht-exklusiven Schaltflächengruppe auf „ Qt.Unchecked “ oder „ Qt.Checked “ gesetzt, werden alle Schaltflächen in der Gruppe entsprechend abgewählt bzw. ausgewählt. „ Qt.PartiallyChecked “ wird ignoriert.

Wird der Markierungsstatus einer exklusiven Schaltflächengruppe auf „ Qt.Unchecked “ gesetzt, wird die Schaltfläche „ checkedButton “ entmarkiert. „ Qt.Checked “ und „ Qt.PartiallyChecked “ werden ignoriert.

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

checkedButton : AbstractButton

Diese Eigenschaft enthält die aktuell ausgewählte Schaltfläche in einer exklusiven Gruppe oder „ null “, falls keine solche Gruppe vorhanden ist oder die Gruppe nicht exklusiv ist.

Standardmäßig ist dies die erste aktivierte Schaltfläche, die 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 auf „ true “ gesetzt ist, kann zu jedem Zeitpunkt nur eine Schaltfläche in der Gruppe markiert sein. Der Benutzer kann auf eine beliebige Schaltfläche klicken, um sie zu markieren, und diese Schaltfläche ersetzt dann die bisher markierte Schaltfläche in der Gruppe.

In einer exklusiven Gruppe kann der Benutzer die aktuell markierte Schaltfläche nicht durch Anklicken demarkieren; 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 hat das Aktivieren und Deaktivieren von Schaltflächen keine Auswirkungen auf die anderen Schaltflächen in der Gruppe. Außerdem lautet der Wert der Eigenschaft „ checkedButton “ „ null “.

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

Dokumentation zu angehängten Eigenschaften

ButtonGroup.group : ButtonGroup [attached]

Diese Eigenschaft ordnet eine Schaltfläche einer Schaltflächengruppe zu.

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 ausgelöst, wenn auf eine Schaltfläche „ button “ in der Gruppe geklickt wurde.

Dieses Signal eignet sich gut zur Implementierung eines gemeinsamen Signal-Handlers für alle Schaltflächen 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()`.

Methodendokumentation

void addButton(AbstractButton button)

Fügt der Schaltflächengruppe eine „ button “ hinzu.

Hinweis: Dasmanuelle Hinzufügen von Objekten zu 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 “.

void removeButton(AbstractButton button)

Entfernt ein „ button “ aus der Schaltflächengruppe.

Hinweis: Dasmanuelle 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 “.

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