Question sur la fonction list_view_clicked
Bonjour, dans la vidéo, le script proposé de la fonction est le suivant:
def list_view_clicked(self, index: QModelIndex):
selection_model = self.tree_view.selectionModel()
selection_model.setCurrentIndex(index, QtCore.QItemSelectionModel.ClearAndSelect)
Pourquoi ne pas faire tout simplement ceci pour arriver au même résultat?
def list_view_clicked(self, index: QModelIndex):
self.tree_view.setCurrentIndex(index)
Merci d'avance!
Bonjour Fred,
La différence entre les deux approches réside dans le contrôle plus fin que te donne selection_model.setCurrentIndex avec QtCore.QItemSelectionModel.ClearAndSelect par rapport à self.tree_view.setCurrentIndex(index).
👉 Avec selection_model.setCurrentIndex(index, QtCore.QItemSelectionModel.ClearAndSelect) :
Tu utilises le modèle de sélection de la vue (selection_model), ce qui te permet de spécifier le comportement de la sélection. Ici, QtCore.QItemSelectionModel.ClearAndSelect signifie que tu veux d'abord effacer la sélection courante puis sélectionner le nouvel index.
👉 Avec self.tree_view.setCurrentIndex(index) :
Cette méthode modifie directement l'index courant de la vue (tree_view), mais il n'y a pas de contrôle explicite sur la manière dont la sélection est gérée. Ça peut fonctionner pour des cas simples où le comportement par défaut est suffisant, mais tu as moins de flexibilité pour des scénarios plus complexes.
Donc si tu veux un contrôle plus précis sur la manière dont la sélection est manipulée, la première approche te donne plus de flexibilité. Si tu es certain que le comportement par défaut est suffisant, la seconde approche est effectivement plus simple et directe.
N'hésite pas si tu as d'autres questions et bonne continuation !
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte