Auf dieser Seite

ControlStateStyle QML Type

Beschreibt den Stil eines Steuerelements in einem bestimmten Zustand. Mehr...

Import Statement: import Qt.labs.StyleKit
Inherits:

ControlStyleProperties

Inherited By:

ControlStyle and CustomControl

Eigenschaften

Detaillierte Beschreibung

ControlStateStyle beschreibt den Stil eines Steuerelements in einem bestimmten Zustand. Ein ControlStyle erbt ControlStateStyle, da es den Normalzustand darstellt - Eigenschaften, die direkt auf einem ControlStyle gesetzt 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, z. B. kann eine Schaltfläche gleichzeitig gedrückt und in der Schwebe gehalten werden. 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 aufgelöst: pressed, hovered, highlighted, focused, checked, vertical. So hat zum Beispiel pressed.background.color Vorrang vor checked.background.color, wenn die Kontrolle sowohl pressed als auch checked ist.

Der Zustand disabled bildet eine Ausnahme: Mit einem deaktivierten Steuerelement kann nicht interagiert werden, so dass die Zustände pressed, hovered, highlighted und focused nicht gelten. Dennoch kann disabled mit Zuständen wie checked und vertical kombiniert werden.

Je tiefer ein Status verschachtelt ist, desto qualifizierter ist er. Zum Beispiel 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. Wenn jedoch beide Formen gleichzeitig verwendet werden, ist nicht definiert, welche Form Vorrang hat.

Eine tiefere Verschachtelung von Zuständen kann auch zur Lösung von Konflikten verwendet werden. Wenn dieselbe Eigenschaft sowohl in hovered als auch in checked gesetzt ist, gewinnt aufgrund der Prioritätsreihenfolge der Wert von hovered. Wenn Sie lieber möchten, dass der geprüfte Wert gewinnt, oder einen ganz anderen Wert in dieser Situation verwenden möchten, können Sie die Eigenschaft in hovered.checked außer Kraft setzen, die dann Vorrang vor beiden hat.

Das folgende Snippet zeigt, wie man eine Schaltfläche je nach Zustand 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 ist nicht garantiert, dass Typen in Qt.labs-Modulen in zukünftigen Versionen kompatibel bleiben.

Siehe auch ControlStyle, DelegateStyle, und FallbackStyle Reference.

Dokumentation der Eigenschaft

checked : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement checked ist.

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

disabled : ControlStateStyle

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

Mit einem deaktivierten Steuerelement kann nicht interagiert werden, daher werden pressed, hovered, highlighted und focused nicht gleichzeitig mit disabled angewendet.

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

focused : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement focused ist.

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

highlighted : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement highlighted ist.

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

hovered : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement hovered ist.

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

pressed : ControlStateStyle

Stilüberschreibungen, die angewendet werden, wenn das Steuerelement pressed 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.