changeant leur opacité ou leur taille. Le composant PathAttribute sert justement à
ces fins. Les possibilités offertes par PathView sont vastes, mais assez difficiles à
mettre en œuvre.
2.3. En tableau
Pour finir, une dernière vue est très utilisée avec Qt Quick : TableView, qui propose un
tableau. Celui-ci est fortement lié au modèle : TableView requiert d'indiquer toutes les
colonnes une par une, en précisant le rôle à afficher (c'est-à-dire la variable de chaque
élément du modèle), dans une TableViewColumn. Ces colonnes remplacent les
délégués précédemment utilisés ; la notion de délégué reste présente, mais seulement au
niveau d'une colonne, pour personnaliser l'affichage d'un champ donné (remplacer un
nombre par des étoiles dans une colonne Note, par exemple).
TableView {
id: booksList
anchors.fill: parent
model: bookModel
TableViewColumn {
role: "title"
title: "Titre"
width: 130
}
// …
}
À la différence des autres vues, pour récupérer l'élément actuellement sélectionné, il
faut utiliser la propriété currentRow (et non currentIndex). Ce champ prend la
valeur -1 lorsqu'aucune ligne n'est sélectionnée, ce qui génère immédiatement une série
d'erreurs dans la console pour indiquer que le programme tente de lire un élément qui
n'existe pas dans le modèle. Pour éviter cela, le code ne peut pas directement lire à
l'adresse indiquée : il doit vérifier avant l'affichage si un élément est sélectionné ou
imposer la sélection par défaut d'un élément au démarrage (avec le gestionnaire de
signal Component.onCompleted).
Label { text: "Titre" }
Text {
text:
if(booksList.currentRow >= 0)
bookModel.get(booksList.currentRow).title;
else
"";
347
Précédent

- 348/494

Suivant