hi guys,
I have attached my code where the control is not going to dragenterevent() from mouse press event().The line drag->exec(Qt::MoveAction); is not directing control to required dragenterevent(). may i know where problem is???
Thanx a lot
Regards
Chirpylife
Code:void test::mousePressEvent(QMouseEvent *event) { QPoint point = event->pos(); QPixmap pix; int i = 1; for (i = 1; i < 4; i++) { if (Rect[i].contains(point)) { pix = pic1; } } QByteArray itemData; QDataStream dataStream(&itemData, QIODevice::WriteOnly); int abc = 10; dataStream << pix << abc; QMimeData *mimeData = new QMimeData; mimeData->setData("image", itemData); QDrag *drag = new QDrag(this); drag->setMimeData(mimeData); drag->setHotSpot(event->pos() - Rect[i].topLeft()); drag->setPixmap(pix); drag->exec(Qt::MoveAction); }
Code:void test::dragEnterEvent(QDragEnterEvent *event) { if (event->mimeData()->hasFormat("image")) event->accept(); else event->ignore(); }

Reply With Quote


