Qwt move marker with mouse between interpolated points
-
Hello,
Let's say i have curve with coordinates (x, y)(1, 1) (2, 1) (3, 1) and a marker. I want to get more x points for my marker to snap on when i move it with mouse. In other words i want my marker to snap to 1.1 , 1.2 , 1.3 x coordinates( now it only snaps to 1, 2 ,3).
Code snippet of how i move my marker:
marker->setLineStyle(QwtPlotMarker::VLine); marker->attach(tracePlot); picker = new QwtPlotPicker(tracePlot->xBottom, tracePlot->yLeft, QwtPicker::NoRubberBand, QwtPicker::AlwaysOff, tracePlot->canvas()); pickerMachine = new QwtPickerDragPointMachine(); picker->setStateMachine(pickerMachine); connect(picker, &QwtPicker::moved, this, &Widget::moveMarker); void Widget::moveMarker(QPoint actualMousePosition) { if(!flagZoom) { QwtText label; QString temp; int x = curve->closestPoint(actualMousePosition, NULL); QPointF position = curve->sample(x); marker->setValue(position); temp = QString::number(marker->xValue()); label.setText(temp); marker->setLabel(label); } tracePlot->replot(); }
I figured i get limited by
closestPoint(actualMousePosition, NULL); sample(x);
returning ints but can't find any other solution.
-
Hi,
That's a question you should bring to the Qwt mailing list. Qwt's author is very active there.