Bonjour à tous

J'ai un objet QTreeView auquel j'ai appliqué un model comprenant des QStandardItem qui sont hiérarchisé d'une certaine façon à l'aide de la fonction appendRow
Je me retrouve donc avec un arbre. (un père a au plus un fils)
Exemple

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
Racine1
|
--Fils1.1
   |
    --Fils1.1.1
Racine2
|
--Fils2.1
   |
   -- Fils2.1.1
J'arrive à obtenir l'item sélectionné grâce à la méthode selectedIndexes() [0]
néanmoins, je n'arrive pas à parcourir la branche en dessous de cet objet (autrement dis à récupérer ses fils)
J'ai essayé avec child mais cela ne fonctionne pas pour certain nœud :
les nœuds racine hormis le premier ne fonctionne pas donc dans mon exemple pour Racine2 ne fonctionne pas alors que les autres nœud si
Mon code simplifié:

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
index = self.tree.selectedIndexes()[0]
print "index :" , self.model.data(index).toString() 
print index
child = index.child(index.row(), index.column())
print child
print "child :" , self.model.data(child).toString()

Exemple de résultat pour un noeud qui ne fonctionne pas :
index : Racine2
<PyQt4.QtCore.QModelIndex object at 0x0928C730>
<PyQt4.QtCore.QModelIndex object at 0x0928C848>
child :

Exemple de résultat pour un noeud qui fonctionne :
index : Fils2.1
<PyQt4.QtCore.QModelIndex object at 0x0928C538>
<PyQt4.QtCore.QModelIndex object at 0x0928C8F0>
child : Fils 2.1.1