Style Imagine
Le style Imagine repose sur des ressources graphiques configurables. En savoir plus...
| Instruction d'importation : | import QtQuick.Controls.Imagine |
| Depuis : | Qt 5.10 |
Propriétés associées
- path: chaîne de caractères
Description détaillée
Le style « Imagine » repose sur des ressources graphiques. Il est fourni avec un ensemble d’images par défaut, mais celles-ci peuvent être facilement remplacées en indiquant un répertoire contenant des images respectant une convention de nommage prédéfinie.

Le style Imagine avec les images par défaut
Pour exécuter une application avec le style Imagine, consultez la section « Utilisation des styles » sur Qt Quick Controls.
Noms de fichiers
Les fichiers image sont nommés selon la convention suivante :
<control>-<element>-<states>
Les sections « <control> » et « <element> » sont obligatoires, mais la section « <states> » est facultative. Par exemple, si un seul fichier nommé « "button-background.9.png" » est fourni pour « Button », il sera utilisé pour tous les états pris en charge par « Button ». C'est au développeur de décider pour quels états il fournira des images. Il est toutefois recommandé de fournir, dans la mesure du possible, des images pour les états de contrôle les plus courants, tels que disabled, pressed, etc. Cela garantira que les contrôles interactifs se comportent visuellement comme l'utilisateur final s'y attend.
Référence des éléments
Le tableau suivant répertorie les éléments pris en charge pour chaque contrôle, ainsi que les états possibles pour cet élément et l'extension de fichier attendue. Un élément est une image qui représente une partie visuelle spécifique du contrôle. Par exemple, l'élément « "background" » de Button représente son « background ».
| Contrôle | Élément | États | Extension |
|---|---|---|---|
| ApplicationWindow | Arrière-plan | actif | .9.png (ou .png) |
| BusyIndicator | animation | désactivée, en cours, en miroir, au survol | .webp |
| arrière-plan | identique à ci-dessus | .webp | |
| Button | arrière-plan | désactivé, enfoncé, coché, pouvant être coché, mis en surbrillance, plat, inversé, au survol | .9.png |
| CheckBox | arrière-plan | désactivé, enfoncé, coché, partiellement coché, sélectionné, inversé, survolé | .9.png (ou .png) |
| indicateur | idem que ci-dessus | .png | |
| CheckDelegate | arrière-plan | désactivé, enfoncé, coché, partiellement coché, actif, surligné, inversé, au survol | .9.png (ou .png) |
| indicateur | idem que ci-dessus | .png | |
| ComboBox | arrière-plan | désactivé, enfoncé, modifiable, ouvert, sélectionné, inversé, survolé, plat | .9.png (ou .png) |
| indicateur | idem que ci-dessus | .png | |
| fenêtre contextuelle | idem que ci-dessus | .9.png (ou .png) | |
| DelayButton | arrière-plan | désactivé, enfoncé, coché, pouvant être coché, sélectionné, inversé, survolé | .9.png (ou .png) |
| progression | idem que ci-dessus | .9.png (ou .png) | |
| masque | idem que ci-dessus | .9.png (ou .png) | |
| Dial | arrière-plan1 | désactivé, enfoncé, sélectionné, inversé, survolé | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| Dialog | arrière-plan | modal, atténué | .9.png (ou .png) |
| titre | identique à celui ci-dessus | .9.png (ou .png) | |
| superposition | modal | .9.png (ou .png) | |
| DialogButtonBox | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| Drawer | arrière-plan | modal, atténué, en haut, à gauche, à droite, en bas | .9.png (ou .png) |
| superposition | modal | .9.png (ou .png) | |
| Frame | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| GroupBox | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| titre | identique à celui ci-dessus | .9.png (ou .png) | |
| ItemDelegate | arrière-plan | désactivé, enfoncé, sélectionné, surligné, inversé, au survol | .9.png (ou .png) |
| Label | arrière-plan | désactivé, inversé, survolé | .9.png (ou .png) |
| Menu | arrière-plan | modal, atténué | .9.png (ou .png) |
| superposition | modal | .9.png (ou .png) | |
| MenuItem | flèche | désactivé, enfoncé, coché, sélectionné, surligné, inversé, au survol | .png |
| arrière-plan | idem que ci-dessus | .9.png (ou .png) | |
| indicateur | identique à celui ci-dessus | .png | |
| MenuSeparator | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| séparateur | identique à celui ci-dessus | .9.png (ou .png) | |
| Page | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| PageIndicator | arrière-plan | désactivé, inversé, survolé | .9.png (ou .png) |
| délégué | désactivé, enfoncé, actif, inversé, survolé | .png | |
| Pane | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| Popup | fond | modal, atténué | .9.png (ou .png) |
| superposition | modal | .9.png (ou .png) | |
| ProgressBar | animation | désactivé, inversé, survolé | .png |
| arrière-plan | désactivé, indéterminé, inversé, au survol | .9.png (ou .png) | |
| masque | identique à ci-dessus | .9.png (ou .png) | |
| progression | idem que ci-dessus | .9.png (ou .png) | |
| RadioButton | arrière-plan | désactivé, enfoncé, coché, sélectionné, inversé, survolé | .9.png (ou .png) |
| indicateur | idem que ci-dessus | .png | |
| RadioDelegate | arrière-plan | désactivé, enfoncé, coché, sélectionné, mis en surbrillance, inversé, au survol | .9.png (ou .png) |
| indicateur | idem que ci-dessus | .png | |
| RangeSlider | arrière-plan | vertical, horizontal, désactivé, sélectionné, inversé, survolé | .9.png (ou .png) |
| RangeSlider | progression | idem que ci-dessus | .9.png (ou .png) |
| poignée | premier, deuxième, vertical, horizontal, désactivé, enfoncé, sélectionné, inversé, survolé | .png | |
| RoundButton | arrière-plan | désactivé, enfoncé, coché, pouvant être coché, sélectionné, surligné, plat, inversé, survolé | .9.png (ou .png) |
| ScrollBar | fond | vertical, horizontal, désactivé, interactif, enfoncé, inversé, au survol | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| ScrollIndicator | arrière-plan | vertical, horizontal, désactivé, en miroir, au survol | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| ScrollView | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| Slider | arrière-plan | vertical, horizontal, désactivé, enfoncé, sélectionné, inversé, survolé | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| progression | idem que ci-dessus | .9.png (ou .png) | |
| SpinBox | arrière-plan | désactivé, modifiable, sélectionné, inversé, survolé | .9.png (ou .png) |
| éditeur | désactivé, actif, en miroir, survolé | .9.png (ou .png) | |
| indicateur | haut, bas, désactivé, modifiable, enfoncé, sélectionné, inversé, survolé | .9.png (ou .png) | |
| StackView | arrière-plan | désactivé, inversé | .9.png (ou .png) |
| SwipeDelegate | arrière-plan | désactivé, enfoncé, sélectionné, surligné, inversé, au survol | .9.png (ou .png) |
| SwipeView | arrière-plan | vertical, horizontal, désactivé, interactif, sélectionné, inversé | .9.png (ou .png) |
| Switch | arrière-plan | désactivé, enfoncé, coché, sélectionné, inversé, survolé | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| indicateur | idem que ci-dessus | .9.png (ou .png) | |
| SwitchDelegate | arrière-plan | désactivé, enfoncé, coché, actif, surligné, inversé, au survol | .9.png (ou .png) |
| poignée | idem que ci-dessus | .9.png (ou .png) | |
| indicateur | idem que ci-dessus | .9.png (ou .png) | |
| TabBar | arrière-plan | désactivé, en-tête, pied de page, inversé | .9.png (ou .png) |
| TabButton | arrière-plan | désactivé, enfoncé, coché, sélectionné, inversé, survolé | .9.png (ou .png) |
| TextArea | arrière-plan | désactivé, sélectionné, inversé, survolé | .9.png (ou .png) |
| TextField | arrière-plan | désactivé, sélectionné, inversé, survolé | .9.png (ou .png) |
| ToolBar | arrière-plan | désactivé, en-tête, pied de page, inversé | .9.png (ou .png) |
| ToolButton | arrière-plan | désactivé, enfoncé, coché, cochable, sélectionné, surligné, plat, inversé, au survol | .9.png (ou .png) |
| ToolSeparator | arrière-plan | vertical, horizontal, désactivé, inversé | .9.png (ou .png) |
| séparateur | idem que ci-dessus | .9.png (ou .png) | |
| ToolTip | arrière-plan | .9.png (ou .png) | |
| Tumbler | arrière-plan | désactivé, sélectionné, inversé, survolé | .9.png (ou .png) |
Remarque : 1) Le cadran de style « Imagine » ne prend pas encore en charge les propriétés ` startAngle ` et ` endAngle ` introduites dans Qt 6.6 ; il utilise à la place une image d’arrière-plan fixe.
Exemples de ressources
Le tableau suivant répertorie des exemples de ressources (tirées des ressources par défaut du style Imagine) pour tous les contrôles. Cette liste n’est pas exhaustive, car tous les éléments ne nécessitent pas forcément de ressources, mais elle peut servir de guide lors de la création de vos propres ressources.
Le modèle à partir duquel ces ressources ont été exportées est disponible sous forme de projet Sketch.
| Contrôle | Élément | États | Ressource | Remarques |
|---|---|---|---|---|
| ApplicationWindow | Contexte |
| Voir la note de bas de page n° 1 | |
| superposition |
| Voir la note de bas de page n° 1 | ||
| superposition | modal |
| Voir la note de bas de page n° 1 | |
| Button | arrière-plan |
| ||
| Contexte | désactivé |
| ||
| arrière-plan | mis en avant |
| ||
| contexte | en relief |
| ||
| arrière-plan | à carreaux |
| ||
| fond | coché, désactivé |
| ||
| arrière-plan | coché, en focus |
| ||
| arrière-plan | coché, survolé |
| ||
| arrière-plan | mis en surbrillance |
| ||
| arrière-plan | mis en évidence, désactivé |
| ||
| arrière-plan | mis en évidence, sélectionné |
| ||
| arrière-plan | mis en évidence, survolé |
| ||
| arrière-plan | mis en évidence, enfoncé |
| ||
| arrière-plan | mis en évidence, coché |
| ||
| arrière-plan | au survol |
| ||
| arrière-plan | plat |
| ||
| arrière-plan | uni, désactivé |
| ||
| fond | uniforme, au survol |
| ||
| arrière-plan | uni, enfoncé |
| ||
| arrière-plan | uni, à carreaux |
| ||
| CheckBox | indicateur |
| ||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | coché, sélectionné |
| ||
| indicateur | partiellement coché |
| ||
| indicateur | partiellement, coché, enfoncé |
| ||
| indicateur | partiellement, coché, sélectionné |
| ||
| indicateur | partiellement, coché, survolé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| CheckDelegate | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | mis au premier plan |
| ||
| arrière-plan | survolé |
| ||
| indicateur |
| |||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | coché, mis en surbrillance |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | en focus |
| ||
| indicateur | survolé |
| ||
| indicateur | partiellement coché |
| ||
| indicateur | partiellement, coché, enfoncé |
| ||
| indicateur | partiellement, coché, mis en surbrillance |
| ||
| indicateur | partiellement, coché, survolé |
| ||
| indicateur | survolé |
| ||
| ComboBox | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | sélectionné |
| ||
| arrière-plan | survolé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | ouvert |
| ||
| arrière-plan | modifiable |
| ||
| arrière-plan | modifiable, mis en surbrillance |
| ||
| arrière-plan | modifiable, désactivé |
| ||
| indicateur |
| |||
| indicateur | désactivé |
| ||
| indicateur | modifiable |
| ||
| indicateur | modifiable, désactivé |
| ||
| indicateur | modifiable, inversé |
| ||
| indicateur | modifiable, inversé, désactivé |
| ||
| fenêtre contextuelle |
| |||
| DelayButton | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | désactivé, coché |
| ||
| arrière-plan | mis en avant |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | à carreaux |
| ||
| arrière-plan | coché, mis en surbrillance |
| ||
| arrière-plan | coché, survolé |
| ||
| arrière-plan | au survol |
| ||
| progression |
| |||
| progression | désactivé |
| ||
| masque |
| |||
| Dial | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | mis en avant |
| ||
| poignée |
| |||
| poignée | désactivé |
| ||
| poignée | sélectionné |
| ||
| poignée | sélectionné, enfoncé |
| ||
| poignée | sélectionné, survolé |
| ||
| poignée | enfoncé |
| ||
| poignée | survolé |
| ||
| Dialog | arrière-plan |
| ||
| superposition |
| Voir la note de bas de page 1 | ||
| superposition | modal |
| Voir la note de bas de page n° 1 | |
| DialogButtonBox | arrière-plan |
| ||
| Drawer | arrière-plan | gauche |
| |
| arrière-plan | à droite |
| ||
| arrière-plan | haut |
| ||
| arrière-plan | en bas |
| ||
| superposition |
| Voir la note de bas de page n° 1 | ||
| superposition | modal |
| Voir la note de bas de page n° 1 | |
| Frame | arrière-plan |
| ||
| GroupBox | arrière-plan |
| ||
| titre |
| |||
| ItemDelegate | contexte |
| ||
| Contexte | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | sélectionné |
| ||
| arrière-plan | survolé |
| ||
| arrière-plan | en surbrillance |
| ||
| Menu | arrière-plan |
| ||
| MenuItem | arrière-plan |
| ||
| arrière-plan | en surbrillance |
| ||
| flèche |
| |||
| flèche | en miroir |
| ||
| flèche | désactivé |
| ||
| flèche | inversé, désactivé |
| ||
| indicateur |
| |||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | coché, mis en surbrillance |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| MenuSeparator | séparateur |
| ||
| Page | arrière-plan |
| Voir la note de bas de page 1 | |
| PageIndicator | délégué |
| ||
| déléguer | désactivé |
| ||
| délégué | invalide, actuel |
| ||
| délégué | enfoncé |
| ||
| délégué | actuel |
| ||
| Pane | contexte |
| ||
| Popup | contexte |
| Voir la note de bas de page n° 1 | |
| superposition |
| Voir la note de bas de page n° 1 | ||
| superposition | fenêtre modale |
| ||
| ProgressBar | arrière-plan |
| ||
| progression |
| |||
| masque |
| |||
| RadioButton | indicateur |
| ||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, mis en surbrillance |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| RadioDelegate | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| Contexte | ciblé |
| ||
| arrière-plan | survolé |
| ||
| indicateur |
| |||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, sélectionné |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| RangeSlider | fond | vertical |
| |
| arrière-plan | horizontal |
| ||
| progression | vertical |
| ||
| progression | vertical, désactivé |
| ||
| progression | horizontal |
| ||
| progression | horizontale, désactivée |
| ||
| poignée |
| |||
| poignée | désactivée |
| ||
| poignée | sélectionné |
| ||
| poignée | sélectionné, survolé |
| ||
| poignée | sélectionné, cliqué |
| ||
| poignée | survolé |
| ||
| poignée | enfoncé |
| ||
| RoundButton | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | désactivé, coché |
| ||
| arrière-plan | mis en avant |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | à carreaux |
| ||
| arrière-plan | coché, mis en surbrillance |
| ||
| arrière-plan | coché, survolé |
| ||
| arrière-plan | mis en surbrillance |
| ||
| arrière-plan | mis en surbrillance, enfoncé |
| ||
| arrière-plan | mis en évidence, mis au point |
| ||
| arrière-plan | mis en évidence, survolé |
| ||
| arrière-plan | au survol |
| ||
| ScrollBar | poignée |
| ||
| poignée | désactivé |
| ||
| poignée | interactif |
| ||
| poignée | interactif, désactivé |
| ||
| poignée | interactif, enfoncé |
| ||
| poignée | interactif, survolé |
| ||
| ScrollIndicator | poignée |
| ||
| Slider | arrière-plan | vertical |
| |
| arrière-plan | horizontal |
| ||
| progression | vertical |
| ||
| progression | vertical, désactivé |
| ||
| progression | horizontal |
| ||
| progression | horizontale, désactivée |
| ||
| poignée |
| |||
| poignée | désactivé |
| ||
| poignée | sélectionné |
| ||
| poignée | sélectionné, survolé |
| ||
| poignée | sélectionné, cliqué |
| ||
| poignée | survolé |
| ||
| poignée | enfoncé |
| ||
| SpinBox | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | en focus |
| ||
| arrière-plan | modifiable |
| ||
| indicateur | haut |
| ||
| indicateur | haut, désactivé |
| ||
| indicateur | haut, enfoncé |
| ||
| indicateur | activé, sélectionné |
| ||
| indicateur | vers le haut, en miroir |
| ||
| indicateur | vers le haut, survolé |
| ||
| indicateur | activé, modifiable |
| ||
| indicateur | actif, modifiable, enfoncé |
| ||
| indicateur | actif, modifiable, sélectionné |
| ||
| indicateur | actif, modifiable, inversé |
| ||
| indicateur | actif, modifiable, survolé |
| ||
| indicateur | vers le bas |
| ||
| indicateur | vers le bas, désactivé |
| ||
| indicateur | vers le bas, enfoncé |
| ||
| indicateur | désactivé, mis en surbrillance |
| ||
| indicateur | vers le bas, en miroir |
| ||
| indicateur | vers le bas, survolé |
| ||
| indicateur | désactivé, modifiable |
| ||
| indicateur | désactivé, modifiable, enfoncé |
| ||
| indicateur | actif, modifiable, sélectionné |
| ||
| indicateur | désactivé, modifiable, inversé |
| ||
| indicateur | baissé, modifiable, survolé |
| ||
| SwipeDelegate | arrière-plan |
| ||
| fond | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | sélectionné |
| ||
| arrière-plan | survolé |
| ||
| Switch | indicateur |
| ||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, sélectionné |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| poignée |
| |||
| poignée | désactivé |
| ||
| pointeur | enfoncé |
| ||
| SwitchDelegate | arrière-plan |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | sélectionné |
| ||
| arrière-plan | survolé |
| ||
| indicateur |
| |||
| indicateur | désactivé |
| ||
| indicateur | enfoncé |
| ||
| indicateur | coché |
| ||
| indicateur | coché, actif |
| ||
| indicateur | coché, survolé |
| ||
| indicateur | coché, enfoncé |
| ||
| indicateur | sélectionné |
| ||
| indicateur | survolé |
| ||
| poignée |
| |||
| poignée | désactivé |
| ||
| TabBar | arrière-plan |
| ||
| TabButton | arrière-plan |
| ||
| contexte | désactivé |
| ||
| arrière-plan | enfoncé |
| ||
| arrière-plan | à carreaux |
| ||
| arrière-plan | au survol |
| ||
| arrière-plan | désactivé, coché |
| ||
| TextArea | fond |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | mis en avant |
| ||
| TextField | contexte |
| ||
| arrière-plan | désactivé |
| ||
| arrière-plan | mis en avant |
| ||
| ToolBar | contexte |
| ||
| ToolButton | arrière-plan |
| ||
| contexte | désactivé, coché |
| ||
| arrière-plan | en surbrillance |
| ||
| arrière-plan | en relief |
| ||
| arrière-plan | à carreaux |
| ||
| fond | coché, mis en surbrillance |
| ||
| arrière-plan | coché, survolé |
| ||
| arrière-plan | au survol |
| ||
| ToolSeparator | séparateur | horizontale |
| |
| séparateur | vertical |
| ||
| ToolTip | arrière-plan |
|
1 Une image 1x1 contenant une seule couleur, étirée pour remplir le contrôle.
Images 9-Patch
Le style « Imagine » utilise des images 9-patch afin de permettre aux concepteurs de contrôler la manière dont un élément particulier réagit au redimensionnement. Voici un exemple d’image 9-patch représentant la page background d’un site Button, accompagnée d’une version agrandie (pour mieux voir les lignes du 9-patch) :

Le contenu de l’image mesure 44 pixels de large sur 32 pixels de haut. Chaque image 9-patch doit comporter une ligne d’un pixel d’épaisseur (collectivement appelées « lignes 9-patch ») autour de chaque côté, ce qui porte la taille réelle de l’image à 46 pixels de large sur 34 pixels de haut. Notez que les lignes 9-patch doivent avoir une épaisseur d’un pixel, quelle que soit la résolution (DPI) cible de l’image. Par exemple, les lignes 9-patch des fichiers « button-background.9.png » et « button-background@2x.9.png » doivent toutes deux avoir une épaisseur d’un pixel.
Les lignes 9-patch doivent être noires, et les zones restantes doivent être transparentes ou blanches :

Zones extensibles
Les lignes du 9-patch situées sur les bords supérieur et gauche déterminent quelles parties de l'image sont étirées lors du redimensionnement.
Vous trouverez ci-dessous des exemples d'image « 9-patch » redimensionnée à une fois et demie sa taille d'origine dans différentes dimensions :

Remarquez que les coins arrondis conservent leur taille d'origine, car ils se trouvent en dehors de la zone délimitée par les lignes.
Zones de remplissage
Les lignes du 9-patch situées sur les bords droit et inférieur déterminent l'espace disponible pour l'contentItem du contrôle, ce qui signifie qu'elles peuvent également être considérées comme contrôlant l'padding. Pour un schéma illustrant le padding, consultez Control Layout.
Vous trouverez ci-dessous d'autres exemples de redimensionnement de l'image « 9-patch », mais cette fois-ci illustrant le fonctionnement des lignes de remplissage « 9-patch ».

L’« contentItem » peut occuper autant d’espace que nécessaire à l’intérieur des zones ombrées. Si les lignes de remplissage sont omises, l’« contentItem » occupera autant d’espace que nécessaire sans dépasser les zones extensibles.
Zones d’encart
Dans certains cas, il est nécessaire qu’un contrôle comporte une ombre portée, par exemple. Cependant, si nous devions ajouter une ombre portée au bouton ci-dessus, cela affecterait sa taille, ce qui poserait des problèmes tant au niveau de la mise en page que des limites de saisie par souris ou par toucher.
Les zones d'encart permettent de pallier ce problème en indiquant au contrôle qu'une certaine partie de l'image 9-patch doit se trouver en dehors du contrôle :

Sur l’image ci-dessous, la ligne pointillée représente la zone cliquable du bouton, ainsi que l’espace qu’il occupera dans une mise en page. L’ombre est indiquée par la zone rayée située derrière lui :

Exportation d’images 9-patch
Divers éditeurs vectoriels et bitmap peuvent être utilisés pour créer des images 9-patch adaptées au style Imagine. Les sections suivantes expliquent brièvement le processus d'exportation pour chaque éditeur, et la dernière section explique comment s'assurer que les images exportées sont conformes au format 9-patch.
Affinity Designer
Consultez la documentation d'Affinity consacrée aux paramètres d'exportation.
Adobe Illustrator
Consultez la documentation d'Adobe sur le panneau « Exportation des ressources ».
Adobe Photoshop
Consultez la documentation d'Adobe intitulée « Générer des ressources d'image à partir de calques ».
Inkscape
L'extension « Inkscape 9-Patch Export » permet d'exporter des ressources à partir d'Inkscape.
Sketch
Consultez la documentation de Sketch sur l'exportation.
Qt Quick Controls fournit également un plugin pour Sketch qui corrige automatiquement l’épaisseur des lignes 9-patch après l’exportation des ressources. Pour installer ce fichier, double-cliquez dessus. Une fois que Sketch a confirmé que le plugin d’exportation 9-patch a été installé, celui-ci traitera automatiquement les images lors de leur exportation.
Correction des lignes 9-patch
Lors de l’exportation d’images 9-patch dans plusieurs variantes de DPI (@2x, @3x, etc.), les lignes 9-patch sont généralement agrandies en même temps que l’image. Il existe plusieurs façons de remédier à ce problème, mais l’approche la plus simple consiste sans doute à utiliser l’outil `mogrify` d’ImageMagick. Cet outil dispose d’une fonction « -shave » qui permet de recadrer l’image afin de réduire l’épaisseur des lignes 9-patch :
mogrify -shave 1x1 -path path/to/images *@2x.9.png
mogrify -shave 2x2 -path path/to/images *@3x.9.png
mogrify -shave 3x3 -path path/to/images *@4x.9.pngLes images à DPI standard (celles sans le préfixe « @Nx ») ne sont pas concernées ; il suffit donc d’exécuter la commande sur les images destinées aux écrans à haute résolution.
Images animées
Les formats d'images animées WebP et GIF sont pris en charge par le style Imagine.
Personnalisation
Chemin d'accès
Le style Imagine permet de personnaliser le chemin d'accès utilisé pour la sélection des ressources d'image. Le chemin d'accès peut être spécifié pour n'importe quelle fenêtre ou n'importe quel élément, et il est automatiquement répercuté sur les éléments enfants, de la même manière que fonts. Dans l'exemple suivant, la fenêtre et les trois boutons radio s'affichent avec des ressources d'images sombres (fichiers situés dans « qrc:/themes/dark »).
|
|
Outre la spécification du chemin d’accès en QML, il est également possible de le définir via une variable d’environnement ou dans un fichier de configuration. Les attributs spécifiés en QML ont priorité sur toutes les autres méthodes.
Fichier de configuration
| Variable | Description |
|---|---|
Path | Spécifie le chemin d’accès au répertoire contenant les ressources de style Imagine. Si ce paramètre n’est pas spécifié, les ressources intégrées sont utilisées. Par exemple, pour indiquer le chemin d'accès à un répertoire stocké dans le système de ressources: Pour spécifier un chemin d'accès relatif vers un répertoire local : Remarque : en raison d’une contrainte technique, le chemin ne doit pas s’appeler « imagine » s’il est relatif au fichier |
Consultez la section « Fichier de configurationQt Quick Controls » pour plus de détails sur ce fichier.
Variables d'environnement
| Variable | Description |
|---|---|
QT_QUICK_CONTROLS_IMAGINE_PATH | Spécifie le chemin d'accès au répertoire contenant les ressources de style Imagine. Si ce chemin n'est pas spécifié, les ressources intégrées sont utilisées. Par exemple, pour spécifier le chemin d'accès à un répertoire stocké dans le système de ressources: Pour spécifier un chemin d'accès relatif vers un répertoire local : Remarque : en raison d’une contrainte technique, le chemin ne doit pas s’appeler « imagine » s’il est relatif au fichier |
QT_QUICK_CONTROLS_IMAGINE_SMOOTH | Définissez la variable d'environnement 1 pour activer la mise à l'échelle fluide des images 9-patch. Cette variable d'environnement a été ajoutée dans Qt 6.5. |
Consultez 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.
Palette
Le style Imagine prend en charge la personnalisation de la palette via la propriété palette et le fichier qtquickcontrols2.conf. Comme pour les autres styles, les « palette roles s » exactes utilisées par le style Imagine dépendent du style. Cependant, comme la plupart des aspects visuels des contrôles (par exemple : les arrière-plans) sont gérés via des ressources d’images, seuls les rôles généralement utilisés pour le texte auront un effet.
Police
Les polices personnalisées peuvent être définies via la propriété ` font ` et le fichier de configuration.
Dépendance
Le style Imagine doit être importé séparément pour pouvoir accéder aux attributs qui lui sont spécifiques. Il convient de noter que, quelles que soient les références au style Imagine, le même code d’application s’exécute avec n’importe quel autre style. Les attributs spécifiques à Imagine n’ont d’effet que lorsque l’application est exécutée avec le style Imagine.
Si le style Imagine est importé dans un fichier QML qui est toujours chargé, il doit être déployé avec l’application afin de pouvoir exécuter cette dernière quel que soit le style utilisé. L’utilisation de sélecteurs de fichiers permet d’appliquer des ajustements spécifiques à un style sans créer de dépendance stricte vis-à-vis de celui-ci.
Voir aussi: Mise en forme Qt Quick Controls
Documentation sur les propriétés associées
Imagine.path: chaîne de caractères |
Cette propriété associée contient le chemin d'accès aux ressources image...
Button {
Imagine.path: "qrc:/themes/dark"
}Informations connexes
© 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.






































































































































































































































































































