Bonjour,
J'ai eu besoin d'une combobox dans mon application pour afficher une liste de langues disponibles. Il me faut à la fois le nom de la langue et un drapeau sous forme d'icône.
La ComboBox native de QtQuick ne permet pas d'insérer un icône d'après mes recherches, même en personnalisant le ComboBoxStyle. (Ai-je loupé quelque chose?)

J'ai donc fait un composant de zéro affichant soit un Item pour montrer l'élément courant, soit une ListView dans une ScrollView pour montrer les choix disponibles (masquée par défaut). Lorsqu'on clique sur l'élément courant il est masqué et la liste est affichée à la place en débordant vers le bas. Je valide la sélection avec une MouseArea sur chaque élément de ma liste, et une fois validé la liste est à nouveau masquée et l'élément courant est affiché à la place (après avoir été mis à jour).
Tout ça fonctionne bien.

Mon problème, j'aimerais "fermer" la combobox lorsque l'on clique ailleurs que sur un de ses éléments (le comportement classique avec une QComboBox et également avec la ComboBox native). Je ne trouve pas de moyen de faire ça. J'ai essayé de détecter la perte de focus mais elle ne semble pas avoir lieu (le seul changement de focus que je vois passer et quand j'appelle explicitement forceActiveFocus), j'ai essayé de mettre une MouseArea sur toute la fenêtre de mon appli mais comment le onClicked de cette zone et ma combobox qui est une "nièce" de cette MouseArea (sans compter que le propagateComposedEvents n'inclut pas les simpleEvents, et que mes mousePressed etc ne sont plus détectés par le reste de l'appli). Bref je suis à court d'idée, si vous avez une piste ou même une façon radicalement différente de faire ma combobox, je suis preneur ! merci d'avance