Bonjour, apres quelques recherches sur le net, et sur ce forum, je me permets de poster mon problème.
J'essaye de réaliser un drag'n drop basique entre un QTreeView et un QListView.
Voici mon code :
Mon problème est que je recois bien l'évènement dragEnterEvent, mais le dropEvent n'est pas appelé. Bizarre, non ? J'ai pourtant repris les exemples de Qt.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 // pour le QTreeView, DiskExplorer::DiskExplorer(QWidget* parent) : QTreeView(parent) { setDragEnabled(true); ... } // pour le QListView Archiver::Archiver(QWidget* parent) : QListWidget(parent) { setAcceptDrops(true); } void Archiver::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("text/uri-list")) { qDebug() << "entering..."; event->acceptProposedAction(); } event->ignore(); } void Archiver::dropEvent(QDropEvent *event) { qDebug() << "ok !"; }
De plus, j'ai le symbole "interdit" au drag dans la zone du QListView.
Merci pour vos éventuelles futures réponses.