CheckBox QML Type
Schaltfläche zum Prüfen, die ein- oder ausgeschaltet werden kann. Mehr...
Import Statement: | import QtQuick.Controls |
Inherits: |
Eigenschaften
- checkState : enumeration
- nextCheckState : function
(since QtQuick.Controls 2.4 (Qt 5.11))
- tristate : bool
Ausführliche Beschreibung
CheckBox stellt eine Optionsschaltfläche dar, die ein- (angekreuzt) oder ausgeschaltet (nicht angekreuzt) werden kann. Kontrollkästchen werden normalerweise verwendet, um eine oder mehrere Optionen aus einer Reihe von Optionen auszuwählen. Für größere Mengen von Optionen, wie z. B. in einer Liste, sollten Sie stattdessen CheckDelegate verwenden.
CheckBox erbt seine API von AbstractButton. Beispielsweise kann der Zustand des Kontrollkästchens mit der Eigenschaft checked festgelegt werden.
Zusätzlich zu den Zuständen "checked" und "unchecked" gibt es noch einen dritten Zustand: "partially checked". Der Zustand "teilweise markiert" kann mit der Eigenschaft tristate aktiviert werden. Dieser Status zeigt an, dass der reguläre Status "aktiviert/deaktiviert" nicht bestimmt werden kann; im Allgemeinen aufgrund anderer Status, die das Kontrollkästchen beeinflussen. Dieser Zustand ist z. B. nützlich, wenn mehrere untergeordnete Knoten in einer Baumansicht ausgewählt sind.
ColumnLayout { CheckBox { checked: true text: qsTr("First") } CheckBox { text: qsTr("Second") } CheckBox { checked: true text: qsTr("Third") } }
Hierarchische Checkbox-Gruppen können mit einem nicht-exklusiven ButtonGroup verwaltet werden.
Das folgende Beispiel veranschaulicht, wie der kombinierte Prüfstatus von Kindern an den Prüfstatus des übergeordneten Kontrollkästchens gebunden werden kann:
Column { ButtonGroup { id: childGroup exclusive: false checkState: parentBox.checkState } CheckBox { id: parentBox text: qsTr("Parent") checkState: childGroup.checkState } CheckBox { checked: true text: qsTr("Child 1") leftPadding: indicator.width ButtonGroup.group: childGroup } CheckBox { text: qsTr("Child 2") leftPadding: indicator.width ButtonGroup.group: childGroup } }
Siehe auch Anpassen von CheckBox-, ButtonGroup und Button-Steuerelementen.
Eigenschaft Dokumentation
checkState : enumeration |
Diese Eigenschaft enthält den Prüfstatus des Kontrollkästchens.
Verfügbare Zustände:
Konstant | Beschreibung |
---|---|
Qt.Unchecked | Das Kontrollkästchen ist nicht angekreuzt. |
Qt.PartiallyChecked | Das Kontrollkästchen ist teilweise aktiviert. Dieser Status wird nur verwendet, wenn tristate aktiviert ist. |
Qt.Checked | Das Kontrollkästchen ist markiert. |
nextCheckState : function |
Diese Eigenschaft enthält eine Callback-Funktion, die aufgerufen wird, um den nächsten Markierungsstatus zu bestimmen, wenn das Kontrollkästchen vom Benutzer durch Berührung, Maus oder Tastatur interaktiv umgeschaltet wird.
Standardmäßig wechselt ein normales Kontrollkästchen zwischen den Zuständen Qt.Unchecked
und Qt.Checked
, und ein dreistufiges Kontrollkästchen wechselt zwischen den Zuständen Qt.Unchecked
, Qt.PartiallyChecked
und Qt.Checked
.
Die Callback-Funktion nextCheckState
kann das Standardverhalten außer Kraft setzen. Das folgende Beispiel implementiert ein Drei-Zustände-Kontrollkästchen, das abhängig von externen Bedingungen einen teilweise markierten Zustand darstellen kann, aber nie in den teilweise markierten Zustand wechselt, wenn es vom Benutzer interaktiv umgeschaltet wird.
CheckBox { tristate: true checkState: allChildrenChecked ? Qt.Checked : anyChildChecked ? Qt.PartiallyChecked : Qt.Unchecked nextCheckState: function() { if (checkState === Qt.Checked) return Qt.Unchecked else return Qt.Checked } }
Diese Eigenschaft wurde in QtQuick.Controls 2.4 (Qt 5.11) eingeführt.
tristate : bool |
Diese Eigenschaft gibt an, ob das Kontrollkästchen ein Drei-Zustands-Kontrollkästchen ist.
In der Animation unten ist das erste Kontrollkästchen ein Tri-State-Kästchen:
Die Voreinstellung ist false
, d.h. das Kästchen hat nur zwei Zustände.
© 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.