Sur cette page

Style des contrôles Qt Quick

Styles disponibles

Qt Quick Les contrôles sont livrés avec une sélection de styles.

Style de base

Galerie de contrôles dans le style Basic

Le style Basic est un style simple et léger qui offre des performances maximales pour les contrôles Qt Quick.

Style Fusion

Galerie de contrôles dans le thème lumineux Fusion

Le thème clair du style Fusion.

Galerie de contrôles dans le thème Fusion style dark

Le thème sombre du style Fusion.

Le style Fusion est un style agnostique qui offre un aspect et une sensation orientés vers le bureau pour les contrôles Qt Quick.

Style Imagine

Galerie de contrôles dans le style Imagine

Le style Imagine est basé sur des images. Le style est livré avec un ensemble d'images par défaut qui peut être facilement modifié en fournissant un répertoire d'images utilisant une convention de nommage prédéfinie.

Style macOS

Galerie de contrôles dans le thème macOS style light

Le thème clair du style macOS.

Galerie de commandes dans le thème sombre de macOS

Le thème sombre du style macOS.

Le style macOS est un style natif pour macOS.

Remarque : ce style n'est disponible que pour les applications fonctionnant sous macOS.

Style iOS

Galerie de contrôles dans le thème lumineux du style iOS

Le thème clair du style iOS.

Galerie de contrôles dans le thème sombre du style iOS

Le thème sombre du style iOS.

Le style iOS est un style natif pour iOS basé sur des images.

Remarque : ce style n'est disponible que pour les applications fonctionnant sous iOS.

Style Material

Galerie de contrôles dans le thème Material style light

Le thème clair du style Material.

Galerie de contrôles dans le thème Material style dark

Le thème sombre du style Material.

Le style Material offre un design attrayant basé sur les Google Material Design Guidelines, mais nécessite plus de ressources système que le style Basic.

Style universel

Galerie de contrôles dans le thème lumineux Universal style

Le thème clair du style Universal.

Galerie de contrôles dans le thème sombre Universal style

Le thème sombre du style Universal.

Le style Universal offre une conception attrayante basée sur les directives de conception universelle de Microsoft, mais nécessite plus de ressources système que le style Basic.

Style Windows

Galerie de contrôles dans le style Windows

Le style Windows est un style natif pour Windows.

Remarque : ce style n'est disponible que pour les applications fonctionnant sous Windows.

Style FluentWinUI3

Galerie de contrôles dans le thème lumineux de FluentWinUI3

Le thème clair du style FluentWinUI3.

Galerie de contrôles dans le thème FluentWinUI3 style dark

Le thème sombre du style FluentWinUI3.

Le style FluentWinUI3 est un style moderne, d'aspect natif, conçu pour les plates-formes fonctionnant sous Windows 11 et plus, qui suit les directives de conception de Fluent UI et de WinUI 3. Le style FluentWinUI3 peut être exécuté sur toutes les plateformes supportées.

Utilisation des styles dans les contrôles Qt Quick

Styles par défaut

Si aucun style n'est explicitement défini, un style par défaut sera utilisé. Le style utilisé dépend du système d'exploitation :

Pour tous les autres systèmes d'exploitation, le style de base est utilisé.

Sélection de style à la compilation

La sélection de style à la compilation est un moyen de spécifier un style à utiliser en l'important explicitement dans QML. Par exemple, pour importer le style Material :

// 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 {
    // ...
}

Remarquez que QtQuick.Controls (qui est responsable de la sélection du style au moment de l'exécution) n'est pas importé. Le style de repli est spécifié par le qmldir du style :

module QtQuick.Controls.Material
# ...
import QtQuick.Controls.Basic auto

L'avantage de la sélection de style au moment de la compilation est que le compilateur QML sait quel style spécifique est utilisé et peut générer du code C++ pour les liaisons.

Un autre avantage est que le plugin QtQuick.Controls n'est pas utilisé et n'a donc pas besoin d'être déployé avec l'application.

Les importations explicites sont également nécessaires si votre application est construite de manière statique.

L'inconvénient de la sélection de style à la compilation est qu'un exécutable ne peut pas prendre en charge plusieurs styles, car chaque style nécessite son propre style.

Voir Mélanger la sélection de style pour plus d'informations sur la combinaison de la sélection de style à la compilation et de la sélection de style à l'exécution.

Sélection de style à l'exécution

La sélection de style à l'exécution est un moyen de spécifier un style à utiliser en important QtQuick.Controls:

import QtQuick.Controls

Le plugin QtQuick.Controls importera le style qui a été défini à l'exécution par l'une des approches suivantes :

La priorité de ces approches suit l'ordre dans lequel elles sont énumérées, de la plus élevée à la plus basse. C'est-à-dire que l'utilisation de QQuickStyle pour définir le style aura toujours la priorité sur l'utilisation de l'argument de la ligne de commande, par exemple.

De même, le style de repli peut être défini par l'une des méthodes suivantes :

Remarque : vous ne pouvez choisir dynamiquement le style de repli que s'il n'a pas été choisi statiquement dans le fichier qmldir du style principal.

L'avantage de la sélection de style à l'exécution est qu'un binaire d'application unique peut supporter plusieurs styles, ce qui signifie que l'utilisateur final peut choisir le style avec lequel il veut exécuter l'application.

L'inconvénient de cette approche est que le compilateur QML ne peut pas savoir quel style spécifique est utilisé et ne peut donc pas générer de code C++ pour les liaisons sur les propriétés des types Qt Quick Controls. Cela n'affecte pas la capacité du compilateur QML à générer du code C++ pour les liaisons sur les types provenant d'autres modules.

Voir Mélange de la sélection de style pour plus d'informations sur le mélange de la sélection de style à l'exécution et à la compilation.

Mélanger la sélection de style

Il est recommandé de n'utiliser que la sélection de style à la compilation ou à l'exécution dans votre application. Toutefois, si votre application charge du code QML tiers, par exemple, il peut être impossible de contrôler les importations utilisées. Si vous mélangez les deux approches, tenez compte des limitations suivantes :

  • La sélection de style à la compilation est prioritaire sur la sélection de style à l'exécution.
  • Le style que vous souhaitez utiliser doit toujours être importé explicitement avant toute autre importation de contrôles. Si vous ne le faites pas, les thèmes (tels que les polices et les palettes) ne se comporteront pas comme prévu. Le premier style explicitement importé est également celui que QQuickStyle::name() indiquera.
  • Le dernier style importé explicitement est celui qui sera réellement utilisé. Par exemple, si vous importez d'abord QtQuick.Controls puis QtQuick.Controls.Material, le Button.qml du style Material sera utilisé lors de la création d'un bouton. C'est pour cette raison que vous ne devez jamais importer explicitement deux styles différents dans la même application.
  • Si vous avez l'intention d'utiliser la sélection de style à la compilation mais que vous chargez du code qui importe QtQuick.Controls, sachez que l'appel à QQuickStyle::name() avant qu'un style n'ait été explicitement importé entraînera l'affichage de la valeur par défaut de la plate-forme. Si vous ne pouvez pas éviter cela, définissez le style pour qu'il corresponde à celui de la compilation via QQuickStyle::setStyle() ou l'une des autres méthodes listées dans Run-Time Style Selection.

Utilisation de QQuickStyle en C++

QQuickStyle QQuickStyle fournit une API C++ pour configurer un style spécifique. L'exemple suivant exécute une application Qt Quick Controls avec le style Material :

QQuickStyle::setStyle("Material");

Voir la description détaillée de QQuickStyle pour plus de détails.

Argument de ligne de commande

Le passage d'un argument de ligne de commande -style est le moyen le plus pratique de tester différents styles. Elle a la priorité sur les autres méthodes énumérées ci-dessous. L'exemple suivant exécute une application Qt Quick Controls avec le style Material :

./app -style Material

Variable d'environnement

La définition de la variable d'environnement QT_QUICK_CONTROLS_STYLE peut être utilisée pour définir une préférence de style à l'échelle du système. Elle a la priorité sur le fichier de configuration mentionné ci-dessous. L'exemple suivant exécute une application Qt Quick Controls avec le style Universal :

QT_QUICK_CONTROLS_STYLE=Universal ./app

Voir Variables d'environnement prises en charge dans Qt Quick Controls pour la liste complète des variables d'environnement prises en charge.

Fichier de configuration

Qt Quick Les contrôles prennent en charge un fichier de configuration spécial, :/qtquickcontrols2.conf, qui est intégré aux ressources d'une application.

Le fichier de configuration peut spécifier le style préféré (qui peut être remplacé par l'une des méthodes décrites plus haut) et certains attributs spécifiques au style. L'exemple suivant indique que le style préféré est le style Matériel.

[Controls]
Style=Material

Pour plus de détails sur le fichier de configuration, voir Qt Quick Controls Configuration File.

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