Bonjour,

cette discussion fait suite à celle-ci, grâce à laquelle j'ai pu gérer l'évènement DropEvent sur un widget QListWidget. (Uniquement des drag'n'drop entre les éléments du QListWidget, pas de drop extérieurs).

Dans ma fonction appelée lors du DropEvent, je souhaite simplement récupérer la liste des items avec leur nouvel ordre. Or voilà ce que j'obtiens:

Le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
def dropListWidget(self, event):
    print "Contenu avant Drop"
    for i in range(self.ui.maListWidget.count()):
        print self.ui.maListWidget.item(i).text()
 
    QListWidget.dropEvent(self.ui.maListWidget, event)
 
    print "Contenu apres Drop"
    for i in range(self.ui.maListWidget.count()):
        print self.ui.maListWidget.item(i).text()
Me renvoie, si par exemple j'ai deplacé "Item 1" de l'index 0 vers 2:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
Contenu avant Drop
Item 1
Item 2
Item 3
Item 4
Contenu apres Drop
Item 1
Item 2
Item 3
Item 1
Item 4
L'ancien emplacement de Item 1 est conservé (mais l'affichage sur l'IHM est correct), alors que je voudrais

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Contenu apres Drop
Item 2
Item 3
Item 1
Item 4
Or je n'arrive pas à supprimer l'élément en trop puisque dans ma fonction je ne sais pas lequel correspond à l'emplacement d'origine et lequel correspond au nouvel emplacement...
Quequ'un pourrait-il m'aider?
Merci d'avance.