try this (modificated draggableicons example)
{
dataStream << pixmap <<
QPoint(event
->pos
());
mimeData->setData("application/x-dnditemdata", itemData);
drag->setMimeData(mimeData);
drag->setPixmap(pixmap);
drag->setHotSpot(event->pos());
painter.drawText(pixmap.rect().center().x(), pixmap.rect().center().y(), "hello Qt");
drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction);
}
void Test::mousePressEvent(QMouseEvent *event)
{
QPixmap pixmap = QPixmap::grabWidget(this);
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
dataStream << pixmap << QPoint(event->pos());
QMimeData *mimeData = new QMimeData;
mimeData->setData("application/x-dnditemdata", itemData);
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setPixmap(pixmap);
drag->setHotSpot(event->pos());
QPainter painter(&pixmap);
painter.drawText(pixmap.rect().center().x(), pixmap.rect().center().y(), "hello Qt");
drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction);
}
To copy to clipboard, switch view to plain text mode
NOTE: you must set setAcceptDrops(true) in Test::ctor.
PS. read more about Drag&Drop
Bookmarks