Sur cette page

Mise en forme Qt Quick Controls

Styles disponibles

Qt Quick Controls propose une sélection de styles.

Style de base

Galerie de commandes au style « Basic »

Le style de base est un style polyvalent, simple et léger, qui offre des performances optimales pour Qt Quick Controls.

Style Fusion

Galerie des éléments de contrôle dans le thème clair de style Fusion

Le thème clair du style Fusion.

Galerie de commandes dans le thème sombre de Fusion

Le thème sombre du style « Fusion ».

Le style « Fusion » est un style indépendant de la plateforme qui offre une interface inspirée des ordinateurs de bureau pour Qt Quick Controls.

Style « Imagine »

Galerie de commandes dans le style Imagine

Le style Imagine repose sur des ressources graphiques. Il est fourni avec un ensemble d’images par défaut qui peut être facilement modifié en spécifiant un répertoire contenant des images respectant une convention de nommage prédéfinie.

Style macOS

Galerie de commandes dans le thème clair de style macOS

Le thème clair du style macOS.

Galerie d'éléments de contrôle dans le thème sombre de style macOS

Le thème sombre du style macOS.

Le style macOS est un style d'aspect natif pour macOS.

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

Style iOS

Galerie de commandes dans un thème clair de style iOS

Le thème clair du style iOS.

Galerie d'éléments de contrôle dans le thème sombre de style iOS

Le thème sombre du style iOS.

Le style iOS est un style d'apparence native pour iOS basé sur des ressources graphiques.

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

Style Material

Galerie des éléments de commande dans le thème clair « Material »

Le thème clair du style Material.

Galerie des éléments de commande dans le thème sombre « Material »

Le thème sombre du style Material.

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

Style « Universal »

Galerie des éléments de commande dans le thème clair de style « Universal »

Le thème clair du style « Universal ».

Galerie de commandes dans le thème sombre de style « Universal »

Le thème sombre du style « Universal ».

Le style « Universal » propose un design attrayant basé sur les directives de conception universelle de Microsoft, mais nécessite davantage de ressources système que le style « Basic ».

Style Windows

Galerie de commandes de style Windows

Le style Windows est un style d'aspect natif pour Windows.

Remarque : ce style n'est disponible que pour les applications s'exécutant sous Windows.

Style FluentWinUI3

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

Le thème clair du style FluentWinUI3.

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

Le thème sombre du style FluentWinUI3.

Le style FluentWinUI3 est un style moderne, d'aspect natif, conçu pour les plateformes fonctionnant sous Windows 11 et versions ultérieures, qui respecte les directives de conception de Fluent UI et de WinUI 3. Le style FluentWinUI3 peut être utilisé sur toutes les plateformes prises en charge.

Utilisation des styles dans Qt Quick Controls

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 « Basic » est utilisé.

Sélection du style à la compilation

La sélection de style à la compilation permet de spécifier un style à utiliser en l'important directement ou indirectement dans QML. Comme cette sélection s'effectue à la compilation, vous ne pouvez pas modifier le style à l'exécution si vous utilisez la sélection de style à la compilation.

La manière la plus pratique d’utiliser la sélection de style à la compilation consiste à importer le style QtQuick.Controls.Native. Le module QtQuick.Controls.Native importe à son tour le style par défaut de la plateforme cible. Si vous importez QtQuick.Controls.Native, vous ne devez importer aucun autre style spécifique, ni le module QtQuick.Controls (sélectionné à l’exécution). Le module QtQuick.Controls.Native importe pour vous le style par défaut de la plateforme et ce style gère lui-même son style de secours. Vous ne pouvez pas avoir plus d'un style de niveau supérieur à la fois. Par exemple :

// Refrain from importing QtQuick.Controls or specific styles.
import QtQuick.Controls.Native

ApplicationWindow {
    // ...
}

Cependant, vous pouvez également importer un style spécifique au moment de la compilation, en ignorant les styles par défaut de la plateforme. 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 {
    // ...
}

Notez que ` QtQuick.Controls ` (qui est chargé de la sélection du style à l'exécution) n'est pas importé. Le style de secours est spécifié par le paramètre `qmldir` du style :

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

L’avantage de la sélection de style à 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.

Des importations explicites sont également nécessaires si votre application est compilée de manière statique.

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

Voir « Combinaison des sélections de style » pour plus d’informations sur la combinaison de la sélection de style à la compilation et à l’exécution.

Sélection de style à l’exécution

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

import QtQuick.Controls

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

La priorité de ces méthodes suit l'ordre dans lequel elles sont énumérées, de la plus élevée à la plus faible. Ainsi, l'utilisation de ` QQuickStyle ` pour définir le style aura toujours la priorité sur l'utilisation de l'argument de ligne de commande, par exemple.

De même, le style de secours peut être défini via l’une des méthodes suivantes :

Remarque : vous ne pouvez choisir dynamiquement le style de secours que s’il n’a pas été défini de manière statique dans le fichier `qmldir` du style principal.

L'avantage de la sélection de style à l'exécution est qu'un seul binaire d'application peut prendre en charge plusieurs styles, ce qui signifie que l'utilisateur final peut choisir le style avec lequel il souhaite 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.

Consultez la section « Combinaison de la sélection de style » pour plus d’informations sur la combinaison de la sélection de style à l’exécution et à la compilation.

API spécifiques aux styles

Plusieurs styles exposent des API spécifiques à ce style, par exemple l’objet associé au style Material ou l’objet associé au style Universal. Ces API spécifiques à un style ne sont disponibles que lorsque ce style est effectivement sélectionné, directement ou indirectement, via la sélection de style à la compilation ou à l’exécution.

Combinaison de 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. Cependant, si votre application charge du code QML tiers, par exemple, il peut s’avérer impossible de contrôler quelles importations sont utilisées. Si vous combinez les deux approches, tenez compte des limitations suivantes :

  • La sélection de style à la compilation prévaut 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, la personnalisation (telle que les polices et les palettes) ne se comportera pas comme prévu. Le premier style importé explicitement est également celui qui sera signalé par ` QQuickStyle::name()`.
  • Le dernier style importé explicitement est celui qui sera effectivement utilisé. Par exemple, si vous importez d’abord QtQuick.Controls puis QtQuick.Controls.Material, c’est le fichier Button.qml du style Material qui sera utilisé lors de la création d’un bouton. Compte tenu du point précédent concernant la personnalisation, c’est pour cette raison que vous ne devez jamais importer explicitement deux styles différents dans la même application.
  • Si vous comptez utiliser la sélection de style à la compilation mais que vous chargez du code qui importe QtQuick.Controls, sachez que l'appel de QQuickStyle::name() avant qu'un style ait été explicitement importé entraînera l'utilisation du style par défaut de la plateforme. Si vous ne pouvez pas éviter cela, définissez au préalable le style pour qu'il corresponde à celui choisi à la compilation via QQuickStyle::setStyle() ou l'une des autres méthodes répertoriées dans la section « Sélection de style à l'exécution ».

Utilisation de QQuickStyle en C++

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

QQuickStyle::setStyle("Material");

Consultez la description détaillée de ` QQuickStyle ` pour plus d’informations.

Argument de ligne de commande

Le passage d’un argument de ligne de commande « -style » est un moyen pratique de tester différents styles. Il a priorité sur les autres méthodes répertorié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 permet de définir une préférence de style à l’échelle du système. Elle a 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

Reportez-vous à la section « Variables d’environnement prises en charge » dans Qt Quick Controls pour obtenir la liste complète des variables d’environnement prises en charge.

Fichier de configuration

Qt Quick Controls prend en charge un fichier de configuration spécial, :/qtquickcontrols2.conf, intégré aux ressources d’une application.

Le fichier de configuration permet de spécifier le style préféré (qui peut être remplacé par l’une des méthodes décrites précédemment) ainsi que certains attributs spécifiques au style. L’exemple suivant spécifie que le style préféré est le style « Material ».

[Controls]
Style=Material

Voir Fichier de configurationQt Quick Controls pour plus de détails sur le fichier de configuration.

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