Résolue

Pourquoi passer par le selectionModel?

# Correction de code # PySide

Bonjour, dans la vidéo, le script proposé de la fonction est le suivant:

def list_view_clicked(self, index: QModelIndex):
    """Updates tree view when list is clicked"""
    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):
    """Updates tree view when list is clicked"""
    self.tree_view.setCurrentIndex(index)

Merci d'avance!

Thibault houdon

Mentor

Salut Simon,

Ça permet de s'assurer que l'ancienne sélection est bien enlevée, notamment si tu veux sélectionner plusieurs éléments (avec Ctrl ou Shift, dépendemment des situations et des OS).

Le flag QtCore.QItemSelectionModel.ClearAndSelect permet de s'assurer que la sélection précédente est effacée avant de sélectionner le nouvel index.

Ça dépend donc du niveau de contrôle que tu souhaites (cf tous les flag dispo dans la doc).

Bien compris, merci Thibault!

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.