Dragging something on a plot widget needs to be implemented as overlay widget ( like text and rubberband of a picker ). Another ( less optimal ) solution is to introduce a pixmap cache for all plot items below your marker and reimplement YourPlot::drawItems().

The way you want to implement dragging only works fast enough for simple scenes without much data.

Uwe