Theme QML Type
Legt Farb- und Stilüberschreibungen für ein Farbschema fest. Mehr...
| Import Statement: | import Qt.labs.StyleKit |
| Inherits: | |
| 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.