Styling Qt Quick Steuerelemente
Verfügbare Stile
Qt Quick Steuerelemente werden mit einer Auswahl an Stilen geliefert.
Basis-Stil
Der Basic Style ist ein einfacher und leichtgewichtiger Allround-Stil, der die maximale Leistung für Qt Quick Controls bietet.
Fusion-Stil
Das helle Thema des Fusion-Stils. | Das dunkle Thema des Fusion-Stils. |
Der Fusion-Stil ist ein plattformunabhängiger Stil, der ein desktop-orientiertes Aussehen und Gefühl für Qt Quick Controls bietet.
Imagine-Stil
Der Imagine-Stil basiert auf Bild-Assets. Der Stil wird mit einem Standardsatz von Bildern geliefert, der leicht geändert werden kann, indem ein Verzeichnis mit Bildern unter Verwendung einer vordefinierten Namenskonvention bereitgestellt wird.
macOS-Stil
Das helle Thema des macOS-Stils. | Das dunkle Thema des macOS-Stils. |
Der macOS-Stil ist ein nativer Stil für macOS.
Hinweis: Dieser Stil ist nur für Anwendungen verfügbar, die unter macOS laufen.
iOS-Stil
Das helle Thema des iOS-Stils. | Das dunkle Design des iOS-Stils. |
Der iOS-Stil ist ein nativer Stil für iOS, der auf Bildelementen basiert.
Hinweis: Dieser Stil ist nur für Anwendungen verfügbar, die unter iOS laufen.
Material-Stil
Das helle Thema des Material-Stils. | Das dunkle Design des Material-Stils. |
Der Material Style bietet ein ansprechendes Design, das auf den Google Material Design Guidelines basiert, benötigt aber mehr Systemressourcen als der Basic Style.
Universal-Stil
Das helle Design des Stils Universal. | Das dunkle Design des Universal-Stils. |
Der Universal Style bietet ein ansprechendes Design, das auf den Microsoft Universal Design Guidelines basiert, erfordert jedoch mehr Systemressourcen als der Basic Style.
Windows-Stil
Der Windows-Stil ist ein nativer Stil für Windows.
Hinweis: Dieser Stil ist nur für Anwendungen verfügbar, die unter Windows laufen.
FluentWinUI3-Stil
Das helle Thema des FluentWinUI3-Stils. | Das dunkle Design des FluentWinUI3-Stils. |
Der FluentWinUI3-Stil ist ein moderner, nativer Stil für Plattformen mit Windows 11 und höher, der den Fluent UI- und WinUI 3-Designrichtlinien folgt. FluentWinUI3 kann auf allen unterstützten Plattformen ausgeführt werden.
Verwendung von Stilen in Qt Quick Steuerelementen
Standardstile
Wenn kein Stil explizit festgelegt ist, wird ein Standardstil verwendet. Welcher Stil verwendet wird, hängt vom jeweiligen Betriebssystem ab:
- Android: Material-Stil
- iOS: iOS-Stil
- Linux: Fusion-Stil
- macOS: macOS-Stil
- Windows: Windows-Stil
Für alle anderen Betriebssysteme wird der Basic Style verwendet.
Auswahl des Stils zur Kompilierzeit
Die Auswahl eines Stils zur Kompilierzeit ist eine Möglichkeit, einen zu verwendenden Stil durch explizites Importieren in QML festzulegen. Zum Beispiel, um den Stil Material zu importieren:
// The style must be imported before any other QtQuick.Controls imports // in order for run-time style selection API like QQuickStyle::name() to // work. import QtQuick.Controls.Material ApplicationWindow { // ... }
Beachten Sie, dass QtQuick.Controls (das für die Stilauswahl zur Laufzeit zuständig ist) nicht importiert wird. Der Fallback-Stil wird durch das qmldir des Stils angegeben:
module QtQuick.Controls.Material # ... import QtQuick.Controls.Basic auto
Der Vorteil der Stilauswahl zur Kompilierzeit besteht darin, dass der QML-Compiler weiß, welcher spezifische Stil verwendet wird, und C++-Code für Bindungen generieren kann.
Ein weiterer Vorteil ist, dass das QtQuick.Controls-Plugin nicht verwendet wird und daher nicht mit der Anwendung bereitgestellt werden muss.
Explizite Importe sind auch erforderlich, wenn Ihre Anwendung statisch erstellt wird.
Ein Nachteil der Stilauswahl zur Kompilierungszeit ist, dass eine ausführbare Datei nicht mehrere Stile unterstützen kann, da jeder Stil seinen eigenen benötigt.
Informationen zum Mischen von Kompilier- und Laufzeitstilauswahl finden Sie unter Stilauswahl mischen.
Stilauswahl zur Laufzeit
Die Stilauswahl zur Laufzeit ist eine Möglichkeit, einen Stil zu bestimmen, der durch den Import von QtQuick.Controls
verwendet wird:
import QtQuick.Controls
Das QtQuick.Controls-Plugin importiert den Stil, der zur Laufzeit auf eine der folgenden Weisen festgelegt wurde:
- QQuickStyle::setStyle()
- Das
-style
Kommandozeilenargument - Die Umgebungsvariable QT_QUICK_CONTROLS_STYLE
- Die Konfigurationsdatei qtquickcontrols2.conf
Die Priorität dieser Ansätze folgt der Reihenfolge, in der sie aufgelistet sind, vom höchsten zum niedrigsten. Das heißt, dass die Verwendung von QQuickStyle
zum Festlegen des Stils immer Vorrang vor der Verwendung des Befehlszeilenarguments hat, zum Beispiel.
In ähnlicher Weise kann der Fallback-Stil über eine der folgenden Methoden festgelegt werden:
- QQuickStyle::setFallbackStyle()
- Die Umgebungsvariable QT_QUICK_CONTROLS_FALLBACK_STYLE
- Die Konfigurationsdatei qtquickcontrols2.conf
Hinweis: Sie können den Fallback-Stil nur dynamisch auswählen, wenn er nicht statisch in der qmldir-Datei des Hauptstils ausgewählt wurde.
Der Vorteil der Stilauswahl zur Laufzeit besteht darin, dass eine einzelne Anwendungsbinärdatei mehrere Stile unterstützen kann, was bedeutet, dass der Endbenutzer wählen kann, mit welchem Stil er die Anwendung ausführen möchte.
Ein Nachteil dieses Ansatzes ist, dass der QML-Compiler nicht wissen kann, welcher spezifische Stil verwendet wird und daher keinen C++-Code für Bindungen an Eigenschaften von Qt Quick Controls-Typen erzeugen kann. Dies hat keinen Einfluss auf die Fähigkeit des QML-Compilers, C++ für Bindungen an Typen aus anderen Modulen zu generieren.
Siehe Mischen der Stilauswahl für Informationen über das Mischen von Laufzeit- und Kompilierzeit-Stilauswahl.
Stilauswahl mischen
Es wird empfohlen, in Ihrer Anwendung nur entweder die Kompilier- oder die Laufzeitstilauswahl zu verwenden. Wenn Ihre Anwendung jedoch z. B. QML-Code von Drittanbietern lädt, ist es möglicherweise nicht möglich zu steuern, welche Importe verwendet werden. Wenn Sie die beiden Ansätze mischen, sollten Sie die folgenden Einschränkungen beachten:
- Die Auswahl des Stils bei der Kompilierung hat Vorrang vor der Auswahl des Stils bei der Ausführung.
- Der Stil, den Sie verwenden möchten, sollte immer explizit vor allen anderen Controls-Importen importiert werden. Wenn Sie dies nicht tun, verhält sich das Theming (z. B. Schriftarten und Paletten) nicht wie erwartet. Der erste explizit importierte Stil ist auch das, was QQuickStyle::name() melden wird.
- Der letzte explizit importierte Stil ist derjenige, der tatsächlich verwendet wird. Wenn Sie z. B. zuerst
QtQuick.Controls
und dannQtQuick.Controls.Material
importieren, wird bei der Erstellung einer Schaltfläche die Datei Button.qml des Stils Material verwendet. Aus diesem Grund sollten Sie niemals zwei verschiedene Stile explizit in dieselbe Anwendung importieren, wie im vorangegangenen Punkt über Theming beschrieben. - Wenn Sie beabsichtigen, die Stilauswahl bei der Kompilierung zu verwenden, aber Code laden, der
QtQuick.Controls
importiert, sollten Sie sich darüber im Klaren sein, dass der Aufruf von QQuickStyle::name(), bevor ein Stil explizit importiert wurde, dazu führt, dass der Plattformstandard gemeldet wird. Wenn Sie dies nicht vermeiden können, setzen Sie den Stil vorher über QQuickStyle::setStyle() oder eine der anderen Möglichkeiten, die in Run-Time Style Selection aufgeführt sind, auf den zur Kompilierzeit passenden Stil.
Verwendung von QQuickStyle in C++
QQuickStyle bietet eine C++-API für die Konfiguration eines bestimmten Stils. Im folgenden Beispiel wird eine Qt Quick Controls-Anwendung mit dem Stil Material ausgeführt:
QQuickStyle::setStyle("Material");
Siehe die ausführliche Beschreibung von QQuickStyle für weitere Details.
Befehlszeilenargument
Die Übergabe eines -style
Befehlszeilenarguments ist der bequemste Weg, um verschiedene Stile zu testen. Sie hat Vorrang vor den anderen unten aufgeführten Methoden. Im folgenden Beispiel wird eine Qt Quick Controls-Anwendung mit dem Stil Material ausgeführt:
./app -style Material
Umgebungsvariable
Das Setzen der Umgebungsvariablen QT_QUICK_CONTROLS_STYLE
kann verwendet werden, um eine systemweite Stilpräferenz festzulegen. Sie hat Vorrang vor der unten erwähnten Konfigurationsdatei. Im folgenden Beispiel wird eine Qt Quick Controls-Anwendung mit dem Stil Universal ausgeführt:
QT_QUICK_CONTROLS_STYLE=Universal ./app
Eine vollständige Liste der unterstützten Umgebungsvariablen finden Sie unter Unterstützte Umgebungsvariablen in Qt Quick Controls.
Konfigurationsdatei
Qt Quick Controls unterstützen eine spezielle Konfigurationsdatei, :/qtquickcontrols2.conf
, die in die Ressourcen einer Anwendung eingebaut wird.
Die Konfigurationsdatei kann den bevorzugten Stil (der durch eine der oben beschriebenen Methoden überschrieben werden kann) und bestimmte stilspezifische Attribute angeben. Das folgende Beispiel legt fest, dass der bevorzugte Stil der Stil "Material" ist.
[Controls] Style=Material
Weitere Informationen über die Konfigurationsdatei finden Sie unter Qt Quick Controls-Konfigurationsdatei.
Verwandte Informationen
- Basis-Stil
- Fusion-Stil
- Imagine-Stil
- Material-Stil
- Universal-Stil
- FluentWinUI3-Stil
- Anpassen von Qt Quick Steuerelementen
- Verwendung von Dateiauswahlen mit Qt Quick Controls
- Bereitstellen von Qt Quick Controls-Anwendungen
- Qt Quick Controls Konfigurationsdatei
- Unterstützte Umgebungsvariablen in Qt Quick Controls
© 2025 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.