je implementer trois methodes pour faire le drag and drop avec QT3.mais ces trois methodes ne marchent qu'avec Qcanvas qui ne peut pas accepter des QWidget et mois je veut faire le drag and drop des objets exemple: button, progressbar, image, label....sur une Qframe ou une sur un autre cainteneur.
voila les methodes de drag and drop des objets QCanvasPolugonItem sur un Qcanvas et je veut l'equivalant de ces methodes sur une autre objet que Qcanvas et Merci.
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
32
33
34
35
36
37
38
39 void contentsMousePressEvent( QMouseEvent *e) { QCanvasItemList il = canvas()->collisions( e->pos() ); for( QCanvasItemList::Iterator it=il.begin(); it!=il.end);++it ) { if( (*it)->rtti() != QCanvasText::RTTI ) { dragging = (*it); xoffset = (int)(e->x() - dragging->x()); yoffset = (int)(e->y() - dragging->y()); return; }} canvas()->update(); }} void contentsMouseReleaseEvent( QMouseEvent *e ) {if( dragging ) { dragging->setX( e->x() - xoffset ); dragging->setY( e->y() - yoffset ); dragging = 0; canvas()->update(); } } void contentsMouseMoveEvent( QMouseEvent *e ) {if( dragging ) { dragging->setX( e->x() - xoffset ); dragging->setY( e->y() - yoffset ); canvas()->update(); }}