PDA

View Full Version : How to get current drag item?



programmer251
4th May 2012, 13:58
Hi guys.

I have a few questions about drag & drop.

How can I get current drag item in QMimeData?

I have the code:



void qet::dragEnterEvent(QDragEnterEvent *event)
{
if(event->mimeData()->hasFormat("text/uri-list"))
event->acceptProposedAction();
else if(event->mimeData()->hasFormat("image/*"))
event->acceptProposedAction();
}
//--------------------------------------------------------------
void qet::dropEvent(QDropEvent *event)
{
//ui->textEdit_2->setText (event->mimeData()->text());
QMimeData *mime =new QMimeData;
mime->setImageData(QImage("/home/programmer/Documents/qet/images/cute.jpg"));
QPixmap pix(200,200);
QPainter painter(&pix);
QImage image = qvariant_cast<QImage>(mime->imageData());
painter.drawImage(rect(),image);
ui->label_3->setPixmap(pix);
event->acceptProposedAction();
}



And, when some image is dragged mainwindow, there is always 1 image, I can't get "current dragging image".

where can I save that, in what kind of buffer, and how to do that in my situation

p.s sorry for pure English.

Thanks and best regards from me.

wysota
6th May 2012, 14:53
QDropEvent::mimeData() contains the item being dragged.