Auf dieser Seite

ControlStateStyle QML Type

Beschreibt das Erscheinungsbild eines Steuerelements in einem bestimmten Zustand. Mehr...

Import Statement: import Qt.labs.StyleKit
Inherits:

ControlStyleProperties

Inherited By:

ControlStyle and CustomControl

Status: Technology preview

Dieser Typ befindet sich in der Technologievorschau und kann sich noch ändern.

Eigenschaften

Ausführliche Beschreibung

„ControlStateStyle“ beschreibt den Stil eines Steuerelements in einem bestimmten Zustand. „ ControlStyle “ erbt von „ControlStateStyle“, da es den Normalzustand darstellt – Eigenschaften, die direkt auf „ ControlStyle “ festgelegt werden, beschreiben, wie das Steuerelement aussieht, wenn kein anderer Zustand aktiv ist. Zustandsspezifische Überschreibungen werden dann über verschachtelte Zustände wie „ pressed “, „ hovered “ und „ checked “ festgelegt.

Verschachtelte Zustände schließen sich nicht gegenseitig aus. Es können mehrere Zustände gleichzeitig aktiv sein – beispielsweise kann eine Schaltfläche gleichzeitig im Hover-Zustand und gedrückt sein. Wenn mehrere Zustände aktiv sind, werden alle passenden Zustandsüberschreibungen angewendet. Wenn dieselbe Eigenschaft in mehreren aktiven Zuständen festgelegt ist, werden Konflikte anhand der folgenden Prioritätsreihenfolge gelöst: pressed, hovered, highlighted, focused, checked, vertical. So hat beispielsweise pressed.background.color Vorrang vor checked.background.color, wenn das Steuerelement sowohl pressed als auch checked ist.

Der Zustand „ disabled “ stellt eine Ausnahme dar: Mit einem deaktivierten Steuerelement kann nicht interagiert werden, daher gelten die Zustände „ pressed “, „ hovered “, „ highlighted “ und „ focused “ nicht. „ disabled “ kann jedoch weiterhin mit Zuständen wie „ checked “ und „ vertical “ kombiniert werden.

Je tiefer ein Zustand verschachtelt ist, desto höher ist sein Prioritätsgrad. Beispielsweise hat „ hovered.pressed.background.color “ Vorrang vor „ hovered.background.color “, wenn sowohl „ hovered “ als auch „ pressed “ aktiv sind. Die Reihenfolge der Verschachtelung spielt keine Rolle: „ hovered.pressed “ und „ pressed.hovered “ sind gleichwertig. Werden jedoch beide Formen gleichzeitig verwendet, ist nicht definiert, welche von beiden Vorrang hat.

Eine tiefere Verschachtelung von Zuständen kann ebenfalls zur Konfliktlösung genutzt werden. Wenn dieselbe Eigenschaft sowohl in hovered als auch in checked festgelegt ist, hat der Wert aus hovered aufgrund der Prioritätsreihenfolge Vorrang. Wenn Sie in dieser Situation lieber den Wert aus „checked“ bevorzugen oder einen ganz anderen Wert verwenden möchten, können Sie die Eigenschaft in hovered.checked überschreiben, die dann Vorrang vor beiden anderen hat.

Der folgende Codeausschnitt zeigt, wie man eine Schaltfläche je nach ihrem Status unterschiedlich gestalten kann:

button {
    text.color: "white"
    background.color: "cornflowerblue"

    pressed.background.color: "cadetblue"
    hovered.background.color: "dodgerblue"
    highlighted.background.color: "lightblue"
    focused.background.color: "lightskyblue"
    checked.background.color: "darkseagreen"
    disabled.background.color: "gray"

    // hovered.checked takes precedence over both hovered and checked
    hovered.checked.background.color: "mediumseagreen"

    hovered.checked {
        // Nested states are grouped properties, so you can use the compact
        // per-property form above, or structure them hierarchically for
        // better readability. Both forms are functionally equivalent.
        pressed {
            // hovered.checked.pressed takes precedence over hovered.checked
            background {
                color: "mediumaquamarine"
                scale: 0.95
            }
            text {
                bold: true
            }
        }
    }
}

Hinweis: Es kann nicht garantiert werden, dass die Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Siehe auch „ ControlStyle“ , „ DelegateStyle “, „StyleKit Property Resolution“ und „FallbackStyle Reference“.

Dokumentation zu Eigenschaften

checked : ControlStateStyle

Stilüberschreibungen werden angewendet, wenn das Steuerelement auf „ checked “ gesetzt ist.

Siehe auch pressed, hovered, highlighted, focused, vertical, disabled und StyleReader.checked.

disabled : ControlStateStyle

Stil-Überschreibungen, die angewendet werden, wenn das Steuerelement deaktiviert ist.

Ein deaktiviertes Steuerelement kann nicht bedient werden, daher werden „ pressed “, „ hovered “, „ highlighted “ und „ focused “ nicht gleichzeitig mit dem Status „deaktiviert“ angewendet.

Siehe auch „ pressed“ , „ hovered “, „ highlighted “, „ focused “, „ checked “, „ vertical “ und „ StyleReader.enabled “.

focused : ControlStateStyle

Stilüberschreibungen werden angewendet, wenn das Steuerelement auf „ focused “ gesetzt ist.

Siehe auch pressed, hovered, highlighted, checked, vertical, disabled und StyleReader.focused.

highlighted : ControlStateStyle

Stilüberschreibungen werden angewendet, wenn das Steuerelement auf „ highlighted “ gesetzt ist.

Siehe auch pressed, hovered, focused, checked, vertical, disabled und StyleReader.highlighted.

hovered : ControlStateStyle

Stilüberschreibungen werden angewendet, wenn das Steuerelement auf „ hovered “ gesetzt ist.

Siehe auch pressed, highlighted, focused, checked, vertical, disabled und StyleReader.hovered.

pressed : ControlStateStyle

Stilüberschreibungen werden angewendet, wenn das Steuerelement auf „ pressed “ gesetzt ist.

Siehe auch hovered, highlighted, focused, checked, vertical, disabled und StyleReader.pressed.

vertical : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement „ vertical “ ist (z. B. ein vertikales „ Slider “ oder „ ScrollBar “).

Siehe auch pressed, hovered, highlighted, focused, checked, disabled und StyleReader.vertical.

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