工具提示在Qwt中显示绘图值
我的应用程序中有一个qwt图。 我想显示一个小工具提示,以显示鼠标指向曲线的点的值。 我发现我必须为此使用QwtPlotPicker,但找不到任何适当的示例在我的代码中执行此操作。 我是Qwt的新手,如果有人能帮我解决这个问题,那将会很棒。
谢谢,拉克什。
作者自己在这里说:
QwtPlotPicker为您提供鼠标的当前位置(在屏幕和绘图坐标中)。 然后你需要找到曲线的最近点。 您可以使用QwtPlotCurve :: closestPoint(),但在大多数情况下,您可以根据数据的特征找到更快的实现。 当你需要比较鼠标位置和点之间的线时,你需要这些点的像素位置(使用QwtPlot :: canvasMap)。 也许看看eventfilter示例的CanvasPicker会有所帮助。
我在我自己的类中实现了它,它是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&)
,它将给出绘图坐标。