{
QLabel *child
= static_cast<QLabel
*>
(childAt
(event
->pos
()));
if (!child)
return;
dataStream << pixmap <<
QPoint(event
->pos
() - child
->pos
());
mimeData->setData("application/x-dnditemdata", itemData);
drag->setMimeData(mimeData);
drag->setPixmap(pixmap);
drag->setHotSpot(event->pos() - child->pos());
if (event->button()==Qt::RightButton){
QImage tempImage
= pixmap.
toImage();
//rotate abt 60 degrees
matrix.rotate(60);
tempImage = tempImage.transformed(matrix);
painter.begin(&tempImage);
painter.fillRect(tempImage.rect(),
painter.end();
child
->setPixmap
(QPixmap::fromImage(tempImage
));
}
else
{
painter.begin(&tempPixmap);
painter.
fillRect(pixmap.
rect(),
QColor(127,
127,
127,
127));
painter.end();
child->setPixmap(tempPixmap);
}
if (drag->start(Qt::CopyAction | Qt::MoveAction) == Qt::MoveAction)
child->close();
else {
child->show();
child->setPixmap(pixmap);
}
}