Auf dieser Seite

Qt Labs StyleKit

StyleKit ist ein deklaratives Styling-System für Qt Quick Controls, das auf „Qt Quick Templates“ aufbaut. Damit können Sie einen vollständigen visuellen Stil für alle Ihre Steuerelemente über ein einziges „ Style “-Objekt definieren, einschließlich der Unterstützung für „ themes “, „ state-based “-Styling und „ transitions “. StyleKit übernimmt automatisch die zugrunde liegende Template-Implementierung, sodass Sie sich ganz auf visuelle Aspekte wie „ colors “, Abmessungen, „ borders “ und „ shadows “ konzentrieren können.

Eine zentrale Stärke von StyleKit ist sein hierarchisches Eigenschaftssystem: Legen Sie eine Eigenschaft einmalig für einen Basistyp wie abstractButton fest, und sie gilt automatisch für alle schaltflächenähnlichen Steuerelemente. Überschreiben Sie sie bei Bedarf für bestimmte Steuerelemente oder Zustände. Änderungen an Ihrem Stil werden sofort in allen Steuerelementen übernommen, was Konsistenz gewährleistet und gleichzeitig eine detaillierte Anpassung ermöglicht.

Für Steuerelemente, die ein individuelles Verhalten benötigen, das über die Möglichkeiten von StyleKit hinausgeht, können Sie weiterhin eigene Vorlagen implementieren und diese nahtlos neben den mit StyleKit gestalteten Steuerelementen integrieren.

Wichtigste Funktionen

  • Deklaratives Styling – Eine benutzerfreundliche QML-API, mit der Sie sich auf das Design statt auf die Implementierung konzentrieren können
  • Hierarchische Fallbacks – Alle Eigenschaften werden weitergegeben. Einmal festlegen, bei Bedarf überschreiben
  • Zustandsbasierte Gestaltung – Entwerfen Sie unterschiedliche Darstellungen für den Mauszeiger-Überflug, beim Drücken, im Fokus usw.
  • Animierte Übergänge – Definieren Sie flüssige Animationen zwischen den Zuständen
  • Themenunterstützung – Entwerfen Sie helle und dunkle Themen sowie beliebig viele benutzerdefinierte Themen
  • Variationen – Entwerfen Sie mehrere Variationen derselben Steuerelemente
  • Paletten- und Schriftartintegration – Konfigurieren Sie Steuerelementpaletten und Schriftarten mithilfe von QML

Das folgende Beispiel zeigt ein minimalistisches Beispiel für einen Stil:

// PlainStyle.qml

import QtQuick
import Qt.labs.StyleKit

Style {
    control {
        padding: 6
        background {
            radius: 4
            width: 100
            height: 36
        }
        indicator {
            width: 20
            height: 20
            border.width: 1
        }
        handle {
            width: 20
            height: 20
            radius: 10
        }
    }

    button {
        background {
            width: 120
            shadow.opacity: 0.6
            shadow.verticalOffset: 2
            shadow.horizontalOffset: 2
            gradient: Gradient {
                GradientStop { position: 0.0; color: Qt.alpha("black", 0.0)}
                GradientStop { position: 1.0; color: Qt.alpha("black", 0.2)}
            }
        }
        pressed.background.scale: 0.95
    }

    slider {
        indicator.fillWidth: true
        indicator.height: 6
        indicator.radius: 3
    }

    light: Theme {
        applicationWindow {
            background.color: "whitesmoke"
        }
        control {
            text.color: "black"
            background.color: "#e8e8e8"
            background.border.color: "#c0c0c0"
            hovered.background.color: "#d0d0d0"
        }
        button {
            text.color: "white"
            background.color: "cornflowerblue"
            background.shadow.color: "gray"
            hovered.background.color: "royalblue"
        }
    }

    dark: Theme {
        applicationWindow {
            background.color: Qt.darker("gray", 2.0)
        }
        control {
            text.color: "white"
            background.color: "#3a3a3a"
            background.border.color: "#555555"
            hovered.background.color: "#4a4a4a"
        }
        button {
            background.color: "sandybrown"
            background.shadow.color: "black"
            hovered.background.color: Qt.darker("sandybrown", 1.2)
        }
    }
}

So legen Sie den Stil in Ihrer Anwendung fest:

// Main.qml

import QtQuick
import Qt.labs.StyleKit

ApplicationWindow {
    id: app
    width: 1024
    height: 800
    visible: true

    // Assign the style to be used
    StyleKit.style: PlainStyle {}

    // Controls are used as normal
    Column {
        anchors.fill: parent
        anchors.margins: 10
        spacing: 10

        Button {
            text: "Button"
        }

        Slider {
            width: 200
        }
    }
}

Verwendung des Moduls in Ihrem Projekt

Die QML-Typen des Moduls sind über den Import „ QtQuick.labs.StyleKit “ verfügbar. Um die Typen zu verwenden, fügen Sie die folgende Importanweisung in Ihre .qml-Datei ein:

import Qt.labs.StyleKit

Artikel und Anleitungen

Beispiele

C++-Klassen

QStyleKitStyle

Wendet einen Qt Labs StyleKit-Stil auf Qt Widgets

QML-Typen

AbstractStyle

Abstrakter Basistyp mit Eigenschaften, die sowohl für „Style“ als auch für „Theme“ gelten

BorderStyle

Definiert den Rahmenstil für einen Delegaten

ControlStateStyle

Beschreibt den Stil eines Steuerelements in einem bestimmten Zustand

ControlStyle

Definiert den Stil für ein Steuerelement im Normalzustand

ControlStyleProperties

Definiert die stilisierbaren Eigenschaften eines Steuerelements

CustomControl

Definiert die Gestaltung für ein benutzerdefiniertes (nicht integriertes) Steuerelement

CustomTheme

Definiert ein benanntes benutzerdefiniertes Design

DelegateStyle

Definiert das visuelle Erscheinungsbild eines Elements innerhalb eines Steuerelements

HandleStyle

Definiert den Griffstil für Steuerelemente wie „Switch“, „Slider“ und „RangeSlider“

ImageStyle

Definiert den Bildstil für einen Delegaten

IndicatorStyle

Definiert den Stil für die Anzeige eines Steuerelements

ShadowStyle

Definiert den Schlagschattenstil für einen Delegaten

StylableControls

Abstrakter Basistyp, der die Steuerelementtypen enthält, deren Stil angepasst werden kann

Style

Stammtyp für eine Stildefinition

StyleAnimation

Ein Hilfs-Typ zum Animieren von Stil-Eigenschaften

StyleKit

Ein Singleton zum Festlegen und Abrufen des aktuellen Stils

StyleKitDebug

Verfolgt, wie Stileigenschaften für ein Steuerelement aufgelöst werden

StyleReader

Liest Eigenschaften aus dem aktiven Stil für ein bestimmtes Steuerelement aus

StyleVariation

Definiert alternative Stile für bestimmte Steuerelemente

StyledItem

Rendert einen „DelegateStyle“

SubIndicatorStyle

Definiert den Stil für einen Sub-Indikator-Delegaten

TextStyle

Definiert den Textstil für die Beschriftung eines Steuerelements

Theme

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

Lizenzen

Qt Labs StyleKit ist unter kommerziellen Lizenzen von The Qt Company erhältlich. Darüber hinaus steht es unter der GNU Lesser General Public License, Version 3, oder der GNU General Public License, Version 2, zur Verfügung. Weitere Informationen finden Sie unter Qt-Lizenzierung.

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