Подсказка для отображения значений графика в Qwt

У меня есть сюжет qwt в моем приложении. Я хочу показать небольшую подсказку, чтобы показать значение точки, на которую мышь направлена на кривой. Я обнаружил, что для этого мне нужно использовать QwtPlotPicker, но не смог найти подходящего примера для реализации этого в моем коде. Я новичок в Qwt, поэтому было бы здорово, если бы кто-нибудь мог помочь мне решить эту проблему.

Спасибо, Ракеш.

1 ответов


сам автор говорит здесь:

QwtPlotPicker дает вам текущее положение мыши (в координатах экрана и графика ). Затем вам нужно найти ближайшие точки ваших кривых. Вы можете использовать QwtPlotCurve:: closestPoint(), но в большинстве случаев вы можете найти гораздо более быструю реализацию в зависимости от характеристик ваших данных. Когда вам нужно сравнить положение мыши с линиями между точками, вам нужно положение пикселя эти точки (используйте QwtPlot:: canvasMap ). Возможно, помогает просмотр CanvasPicker примера eventfilter.

я реализовал его в своем собственном классе, который является подклассом QwtPlot. В конструкторе у меня есть следующее:

QwtPlotPicker* plotPicker = new QwtPlotPicker(this->xBottom, this->yLeft, QwtPicker::CrossRubberBand, QwtPicker::AlwaysOn, this->canvas());
QwtPickerMachine* pickerMachine = new QwtPickerClickPointMachine();
plotPicker->setStateMachine(pickerMachine);
connect(plotPicker, SIGNAL(selected(const QPointF&)), this, SLOT(onSelected(const QPointF&)));

теперь в моем классе (где этот указатель ссылается на) Я должен реализовать слот onSelected(const QPointF&) что даст координаты.