Bonjour à tous,

Je réalise mon premier programme sous Qt et ma question est dans ce cas peut-être un peu simple...

Je souhaite réaliser une interface homme machine IHM avec plusieurs menus du type:
- musique
- contacts
- téléphone
- radio, etc... etc...

Ma méthode est de travailler avec des éléments qml.

J'ai d'abord "construit" dans mon MainPanel, un rectangle qui fait la taille de ma fenêtre. Dans ce rectangle, j'ai un ListModel d'image .png (icones des différents menus) qui correspondent à chaque menus.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
        ListModel {
            id: list_icone
            ListElement {name: "Musique";       icon: "Music.png"}
            ListElement {name: "Navigation";    icon: "Computer.png"}
            ListElement {name: "Radio";         icon: "Run.png" }
            ListElement {name: "Climatisation"; icon: "Custom.png"}
            ListElement {name: "Téléphone";     icon: "Picture.png"}
            ListElement {name: "Système";       icon: "Network.png"}
        }
Je crée ensuite un type Item qui intègre chaque image avec son texte en dessous (musique, téléphone, etc...)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
        Component {
            id:icone
            Item {
                width: 130
                height: 130
                scale: PathView.iconScale
                opacity: PathView.iconOpacity
 
                Image {
                    width: 120
                    height: 120
                    //color: PathView.iconColor
                    source: icon
                    smooth: true
                    anchors.top: parent.top
                    anchors.horizontalCenter: parent.horizontalCenter
                }
                Text {
                    color: "white"
                    text: name
                    smooth: true
                    font.pointSize: 11
                    font.family: "Arial"
                    font.bold: true
                    anchors.horizontalCenter: parent.horizontalCenter
                    anchors.bottom: parent.bottom
                }
            }
        }
Enfin, j'affiche ces items dans un premier Pathview avec une animation PathQuad qui réagit aux commande clavier ← et →.
j'ai ajouter la commande clavier Entrée qui me renvois (dans le fenetre Sortie de l'application) le numéro de chaque menu; je les identifie donc chacun.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Keys.onLeftPressed: decrementCurrentIndex()
            Keys.onRightPressed: incrementCurrentIndex()
            Keys.onReturnPressed: { ... ...
Je souhaite maintenant développer les différents menus, mais je ne vois pas trop comment m'y prendre.

Dois-je garder le même raisonnement et créer des Componant avec des Pathview ?
Dans ce cas il faut alterner l'affichage de ces PathView (cacher le menu principal/afficher le menu selectionné avec Entrée) à chaque fois que je rentre ou que je sorte de chaque menus.