[Gelöst] Drag & Drop zwischen GraphicsView und GraphicsS
Verfasst: 8. September 2010 09:11
Hi,
bei meinem programm kann man QLabels von außerhalb (groupbox neben dem QGraphicsView) per drag & drop auf das graphicsview ziehen, welche dann als QGraphicsRectItem auf dem QGraphicsView dargestelt werden soll.
Mein problem ist folgendes:
Damit drag & drop funktioniert, habe ich die ganzen events in einer eigenen klasse von QGraphicsView überschrieben. Wenn ich jetzt aber etwas auf das QGraphicsView respektive die QGraphicsScene ziehe, wird das drop event des QGraphicsView ausgelöst.
Das neue QGraphicsRectItem positioniere ich per setPos() mit der position die ich vom event parameter bekomme, jedoch wird das neue QGraphicsRectItem irgendwo anders positioniert als die maus position ist.
Testweise habe ich auch eine eigene QGraphicsScene abgeleitet und per mouse_pressed ein QGraphicsRectItem eingefügt.
Von der QGraphicsScene bekomme ich vom mouse_pressed event die koordinaten als scenePos() und das neue objekt wird richtig positioniert.
Was kann ich jetzt machen, damit im drop event von QGraphicsView auch die richtigen koordinaten bekomme?
Danke!
bei meinem programm kann man QLabels von außerhalb (groupbox neben dem QGraphicsView) per drag & drop auf das graphicsview ziehen, welche dann als QGraphicsRectItem auf dem QGraphicsView dargestelt werden soll.
Mein problem ist folgendes:
Damit drag & drop funktioniert, habe ich die ganzen events in einer eigenen klasse von QGraphicsView überschrieben. Wenn ich jetzt aber etwas auf das QGraphicsView respektive die QGraphicsScene ziehe, wird das drop event des QGraphicsView ausgelöst.
Das neue QGraphicsRectItem positioniere ich per setPos() mit der position die ich vom event parameter bekomme, jedoch wird das neue QGraphicsRectItem irgendwo anders positioniert als die maus position ist.
Testweise habe ich auch eine eigene QGraphicsScene abgeleitet und per mouse_pressed ein QGraphicsRectItem eingefügt.
Von der QGraphicsScene bekomme ich vom mouse_pressed event die koordinaten als scenePos() und das neue objekt wird richtig positioniert.
Was kann ich jetzt machen, damit im drop event von QGraphicsView auch die richtigen koordinaten bekomme?
Danke!