2012-10-25 22 views
7

我的應用程序中有一個qwt圖。我想顯示一個小工具提示,以顯示鼠標指向曲線的點的值。我發現我必須爲此使用QwtPlotPicker,但找不到任何適當的示例在我的代碼中執行此操作。我是Qwt的新手,如果有人能幫我解決這個問題,那將會很棒。在Qwt中顯示繪圖值的工具提示

謝謝,Rakesh。

回答

3

作者自己說here

一個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&))); 

現在在我的課(其中this指針指)我應該實現的槽onSelected(const QPointF&)這將給陰謀座標。