Auf dieser Seite

Theme QML Type

Legt Farb- und Stilüberschreibungen für ein Farbschema fest. Mehr...

Import Statement: import Qt.labs.StyleKit
Inherits:

AbstractStyle

Status: Technology preview

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

Ausführliche Beschreibung

Ein Theme überschreibt die in einem „ Style “ definierten Eigenschaften, um ein bestimmtes Farbschema optisch individuell zu gestalten. Ein Style konfiguriert in der Regel strukturelle Eigenschaften wie implizite Größe, Abstand und Radien, während ein Theme Farben, Schatten und andere visuelle Attribute festlegt. Dies ist jedoch keine Einschränkung – ein Theme kann jede Eigenschaft überschreiben, die ein Style festlegen kann.

Ein Stil kann ein „ light “-Thema und ein „ dark “-Thema bereitstellen. Wenn „ themeName “ auf „ "System" “ (Standard) gesetzt ist, folgt das aktive Thema dem „ operating system's color scheme “. Sie können außerdem zur Laufzeit zusätzliche Themen mithilfe von „ CustomTheme “ und „ switch between them “ erstellen.

Eigenschaften, die im Design nicht festgelegt sind, werden auf die in der „ Style “ definierten Werte zurückgesetzt.

Das folgende Beispiel definiert helle, dunkle und kontrastreiche Designs, die jeweils unterschiedliche Farben für die Steuerelemente bereitstellen:

Style {
    light: Theme {
        control {
            text.color: "#202020"
            background.color: "#f0f0f0"
            background.border.color: "#d0d0d0"
            background.shadow.color: "#c0c0c0"
            hovered.background.color: "#e0e0e0"
        }
        applicationWindow.background.color: "gainsboro"
        button.hovered.background.color: "#4a90d9"
        radioButton.indicator.foreground.color: "#d0d0d0"
        switchControl.indicator.foreground.color: "lightslategray"
        switchControl.handle.color: "white"
    }

    dark: Theme {
        control {
            text.color: "#e0e0e0"
            background.color: "#404040"
            background.border.color: "#606060"
            background.shadow.color: "#222222"
            hovered.background.color: "#505050"
        }
        applicationWindow.background.color: "#2b2b2b"
        button.hovered.background.color: "#6ab0f9"
        radioButton.indicator.foreground.color: "#606060"
        switchControl.indicator.foreground.color: "#505050"
        switchControl.handle.color: "#808080"
    }

    CustomTheme {
        name: "HighContrast"
        theme: Theme {
            control {
                text.color: "black"
                text.bold: true
                background.color: "white"
                background.border.color: "black"
                background.border.width: 3
                background.shadow.visible: false
                hovered.background.border.width: 5
            }
            applicationWindow.background.color: "white"
            itemDelegate.hovered.text.color: "white"
            itemDelegate.hovered.background.color: "black"
            itemDelegate.background.border.width: 0
            button.hovered.background.color: "black"
            button.hovered.text.color: "white"
            radioButton.indicator.foreground.color: "white"
            radioButton.checked.indicator.foreground.color: "black"
            switchControl.indicator.foreground.color: "white"
            switchControl.handle.color: "white"
            switchControl.handle.border.color: "black"
            switchControl.handle.border.width: 2
            switchControl.checked.handle.color: "black"
        }
    }
}

Ein vollständiges Beispiel, das die Themen in Aktion zeigt, findest du im „StyleKit Quick Controls“-Beispiel.

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

Siehe auch „ Style “, „ CustomTheme “ und „StyleKit Property Resolution“.

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