Auf dieser Seite

Theme QML Type

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

Import Statement: import Qt.labs.StyleKit
Inherits:

AbstractStyle

Detaillierte Beschreibung

Ein Theme überschreibt Eigenschaften, die in einem Style definiert sind, um ein bestimmtes visuelles Erscheinungsbild für ein bestimmtes Farbschema zu bieten. Ein Stil konfiguriert in der Regel strukturelle Eigenschaften wie implizite Größe, Füllung und Radien, während ein Thema Farben, Schatten und andere visuelle Attribute festlegt. Dies ist jedoch keine Einschränkung - ein Thema kann jede Eigenschaft außer Kraft setzen, die ein Stil festlegen kann.

Ein Stil kann ein light und ein dark Thema bereitstellen. Wenn themeName auf "System" (die Standardeinstellung) gesetzt ist, folgt das aktive Thema dem operating system's color scheme. Sie können auch zusätzliche Themen mit CustomTheme und switch between them zur Laufzeit erstellen.

Eigenschaften, die nicht im Thema festgelegt sind, fallen auf die Eigenschaften zurück, die im Thema Style definiert sind.

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 Themes in Aktion zeigt, finden Sie im StyleKit-Beispiel.

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

Siehe auch Style und CustomTheme.

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