Подсказка для отображения значений графика в 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&)
что даст координаты.