Funkcja dropEvent(QGraphicsSceneDragDropEvent *event) nie przechwytuje zdarzeń
-
Witam. Piszę grę w statki i przy przenoszeniu statków chcę je upuścić aby następnie wyczytać ich pozycję i robić inne rzeczy. Problem w tym że funkcja od przechwytu DropEvent nie działa.
Samo przenoszenie statku mam zaimplementowane przez dodanie flagi ;statek_1->setFlag(QGraphicsItem::ItemIsMovable);
Poniżej wycinek kodu deklaracji statka typu QGraphicsItem w konstruktorze:
QPixmap dwuMasztowiec;
dwuMasztowiec = QPixmap("../Statki/images/dwu.png");
statek_1 = scene->addPixmap(dwuMasztowiec);
statek_1->setPos(277,405);
statek_1->setFlag(QGraphicsItem::ItemIsMovable);a następnie kod funkcji dropEvent (skopiowany z przykładu o robocie)
void Plansza::dropEvent(QGraphicsSceneDragDropEvent *event)
{
if (event->mimeData()->hasImage()) {
dragOver = false;
pixmap = qVariantValue<QPixmap>(event->mimeData()->imageData());
update();
} else {
Plansza::dropEvent(event);
}
}I chcę jeszcze dopowiedzieć że w konstruktorze dodałem funkcje : setAcceptDrops(true)
Proszę o pomoc. W razie potrzeby wrzucę cały kod. Pzd