Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.8.0 - Qt Creator : 4.2.2 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Problème d'InternalMove dans une QListWidget

Bonjour à tous!

Mise en situation :
Je suis débutant avec Qt. Bon but est de faire une sorte de playlist pour un lecteur MP3 à l'aide d'un QListWidget. L’utilisateur doit pouvoir classer les différentes musique dans l'ordre qu'il souhaite. J'ai donc mis la propriété DragDropMode de mon QListWidget à InternalMove.
Chaque item de ma liste est associé à un objet de type File, File étant une classe de ma création. Pour cela, j'utilise la fonction setData.

Mon problème :
Lorsque je veux déplacer un item dans ma liste par un drag & drop, mon application crash en m'affichant tout un tas de messages box
image

Info :
Ce problème ne m'arrive qu'à partir du moment où j'associe mon objet à mon item avec la fonction setData().

Code :

file.h

#ifndef FICHIER_H
#define FICHIER_H
#include <QFileInfo>
#include <QMetaType>

class File
{
private:
QFileInfo* fileInfo;
public:
explicit File(QString path);
QString GetName();
};
Q_DECLARE_METATYPE( File* )
#endif // FICHIER_H
mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>


MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

LoadFile();
}

void MainWindow::LoadFile()
{
InsertFile("C:\\MonFichier.txt");
InsertFile("C:\\TempsReponse.txt");
InsertFile("C:\\4debug.txt");
}

void MainWindow::InsertFile(QString file)
{
File* f = new File(file);
QListWidgetItem* item = new QListWidgetItem(f->GetName());
item->setData(Qt::UserRole + 1, QVariant::fromValue<File*>(f));
item->setFlags(Qt::ItemIsEditable|item->flags());
ui->listWidget->insertItem(0,item);
}

MainWindow::~MainWindow()
{
delete ui;
}
Merci beaucoup pour votre aide.
Connectez-vous ou Inscrivez-vous pour répondre.