Bonjour à tous,

je me heurte à un petit problème depuis ce matin et malgré la doc et les sujets similaires trouvé sur différents forums, je n'arrive pas à comprendre ce qui cloche
J’espère donc que vous pourrez m'aider

Tout d'abord resituons un peu le contexte :

J'ai un QTableView avec une liste d'informations importante. J'ai donc la possibilité de scroller pour voir toutes les informations.

Nous avons mis en place une fonctionnalité sur le clic droit qui permet de filtrer sur une ligne. Cela signifie que la liste n'est plus composé que de cette ligne et que dans les autres onglets (et oui il y a un QTabWidget) seul les informations concernant la ligne choisie apparaissent

Tout ceci marche correctement à l'aide notamment d'un QSortFilterProxyModel.

le probleme survient lorsqu'on souhaite dé-filtrer; idéalement je voudrai que le focus soit sur l’élément qu'on vient de dé-filtrer et surtout que le scroll de la fenêtre permettre de voir cet élément
C'est cette partie qui me pose problème actuellement

Si vous avez des conseils, je suis preneur

Mon code présent dans la classe héritant de QTableView :

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def onIsolate(self):
        model = self.sourceModel()
        self.selectedIndex = self.model().index(self.currentIndex().row(), 1)
        model.filter.invalidateFilter() #filter ==> QSortFilterProxyModel
 
def onUnisolate(self):
        model = self.sourceModel()        
        model.filter.isolation.clear()
        model.filter.invalidateFilter()
 
        index = self.selectedIndex
        print index.row()
        self.selectionModel().select(index, QtGui.QItemSelectionModel.SelectCurrent)
        self.setCurrentIndex(index)
        self.setFocus()