在 Qwt 中显示绘图值的工具提示

Posted

技术标签:

【中文标题】在 Qwt 中显示绘图值的工具提示【英文标题】:Tool tip to show plot values in Qwt 【发布时间】:2012-10-25 09:55:45 【问题描述】:

我的应用程序中有一个 qwt 图。我想显示一个小工具提示来显示鼠标在曲线上指向的点的值。我发现我必须为此使用 QwtPlotPicker,但在我的代码中找不到任何合适的示例来实现它。我是 Qwt 的新手,如果有人能帮我解决这个问题,那就太好了。

谢谢,拉克什。

【问题讨论】:

【参考方案1】:

作者自己说here:

QwtPlotPicker 为您提供鼠标的当前位置(在屏幕和绘图坐标中)。然后,您需要找到曲线的最近点。您可以使用 QwtPlotCurve::closestPoint(),但在大多数情况下,您可以根据数据的特性找到更快的实现。 当您需要将鼠标位置与点之间的线进行比较时,您需要这些点的像素位置(使用 QwtPlot::canvasMap )。 也许查看事件过滤器示例的 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&)));

现在在我的班级(this 指针所指的地方)我应该实现插槽onSelected(const QPointF&),它将给出绘图坐标。

【讨论】:

你能告诉我是否有办法总是用 QwtPlotPicker 发送鼠标在画布位置移动的信号吗?

以上是关于在 Qwt 中显示绘图值的工具提示的主要内容,如果未能解决你的问题,请参考以下文章

为长文本标签在 plotly 中格式化工具提示

qwt 绘图曲线轴不可见

R:向交互式绘图添加“工具提示”(绘图)

qwt/pyqt 图像绘图的自定义比例(像素到毫米转换)

如何更改谷歌地图绘图管理器工具栏工具提示?

QWT绘图-一直线自动运动