fournis par le signal précité : selected et deselected ; le premier indique les
éléments sélectionnés et le second les éléments qui viennent d'être désélectionnés.
À ce stade, seul le premier argument est intéressant. À partir de celui-ci, on peut
retrouver l'indice de la ligne sélectionnée en faisant en cascade les opérations
indiquées : extraction des indices, vérification qu'il y a bien une sélection,
extraction de l'index unique duquel on peut finalement obtenir l'indice de colonne.
La méthode afficheLivre est assez simple à comprendre : on passe un livre (tuple
nommé tel que défini dans le modèle) et on affiche chacun de ses attributs dans le
widget correspondant (voir la documentation des classes widgets QLineEdit,
QComboBox, QDateEdit, QPlainTextEdit et QDoubleSpinBox).
Évidemment, tout cela est un peu laborieux de prime abord ; néanmoins cette
sophistication n'est pas gratuite de la part des concepteurs de Qt : dans des applications
plus élaborées, ces méthodes permettent de gérer les sélections multiples, par cellules,
groupes de cellules et bien d'autres choses encore (pour en savoir plus, voir la
documentation de la classe QItemSelectionModel).
Il est temps de tester l'application. On peut voir que les trois livres codés en dur
s'affichent bien dans la liste ; on peut consulter leurs détails en sélectionnant chaque
livre à la souris ou via les touches flèches du clavier.
Figure 7.1 : BiblioApp v0.10
117
éléments sélectionnés et le second les éléments qui viennent d'être désélectionnés.
À ce stade, seul le premier argument est intéressant. À partir de celui-ci, on peut
retrouver l'indice de la ligne sélectionnée en faisant en cascade les opérations
indiquées : extraction des indices, vérification qu'il y a bien une sélection,
extraction de l'index unique duquel on peut finalement obtenir l'indice de colonne.
La méthode afficheLivre est assez simple à comprendre : on passe un livre (tuple
nommé tel que défini dans le modèle) et on affiche chacun de ses attributs dans le
widget correspondant (voir la documentation des classes widgets QLineEdit,
QComboBox, QDateEdit, QPlainTextEdit et QDoubleSpinBox).
Évidemment, tout cela est un peu laborieux de prime abord ; néanmoins cette
sophistication n'est pas gratuite de la part des concepteurs de Qt : dans des applications
plus élaborées, ces méthodes permettent de gérer les sélections multiples, par cellules,
groupes de cellules et bien d'autres choses encore (pour en savoir plus, voir la
documentation de la classe QItemSelectionModel).
Il est temps de tester l'application. On peut voir que les trois livres codés en dur
s'affichent bien dans la liste ; on peut consulter leurs détails en sélectionnant chaque
livre à la souris ou via les touches flèches du clavier.
Figure 7.1 : BiblioApp v0.10
117
