fällt jemanden ein woran das liegen könnte?
Code: Alles auswählen
void GraphWidget::mouseDoubleClickEvent(QMouseEvent *event) {
if (event->button() != Qt::LeftButton)
return;
mouseDButn = true;
double mx = event->x()/pixels_per_inch;
double my = event->y()/pixels_per_inch;
...
QPointF mouseDCDown = event->pos();
for(int i = 0; i < area.size() && mouseLButn; i++) {
double width = area.at(i)->getSize().width();
double height = area.at(i)->getSize().height();
double px = area.at(i)->getPos().x();
double py = area.at(i)->getPos().y();
if(mouseDCDown.x() <= px + width && mouseDCDown.x() >= px &&
mouseDCDown.y() <= py + height && mouseDCDown.y() >= py) {
QByteArray itemData;
QDataStream dataStream(&itemData, QIODevice::WriteOnly);
QMimeData *mimeData = new QMimeData;
//! bef�llen
dataStream << area.at(i)->getPixm() << mouseLDown << area.at(i)->getAngle() << area.at(i)->getScaleF();
mimeData->setData("image/terrain-piece", itemData);
//! es fehlt eine möglichkeit das pixmap gedreht an das dropevent zu übergeben, evtl. ==> transformed()
QDrag *drag = new QDrag(this);
drag->setMimeData(mimeData);
drag->setHotSpot(QPoint(width/2, height/2) );
drag->setPixmap(area.at(i)->getPixm().scaled(width, height) );
//!hier wird das bild dann an die mouse gehangen, bzw. das eigentliche dragging gestartet
if(drag->exec(Qt::MoveAction) == Qt::MoveAction) {
scene->removeItem(area.at(i) );
area.removeAt(i);
scene->update();
}
}
}
scene->update();
QGraphicsView::mouseDoubleClickEvent(event);
}