QWT 7.0.1
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPlotSeriesDataPicker Class Reference

这是一个绘图数据拾取显示类,用于显示当前的y值,或者显示最近点 More...

#include <qwt_plot_series_data_picker.h>

Inheritance diagram for QwtPlotSeriesDataPicker:
QwtCanvasPicker QwtPicker QwtEventPattern

Classes

struct  FeaturePoint
 
class  PrivateData
 

Public Types

enum  PickSeriesMode { PickYValue , PickNearestPoint }
 拾取模式 More...
 
enum  TextPlacement {
  TextPlaceAuto , TextFollowOnTop , TextFollowOnBottom , TextFollowMouse ,
  TextOnCanvasTopRight , TextOnCanvasTopLeft , TextOnCanvasBottomRight , TextOnCanvasBottomLeft ,
  TextOnCanvasTopAuto , TextOnCanvasBottomAuto
}
 The TextArea enum. More...
 
enum  InterpolationMode { NoInterpolation , LinearInterpolation }
 插值模式枚举 More...
 
- Public Types inherited from QwtPicker
enum  RubberBand {
  NoRubberBand = 0 , HLineRubberBand , VLineRubberBand , CrossRubberBand ,
  RectRubberBand , EllipseRubberBand , PolygonRubberBand , UserRubberBand = 100
}
 Rubber band style. More...
 
enum  DisplayMode { AlwaysOff , AlwaysOn , ActiveOnly }
 Display mode. More...
 
enum  ResizeMode { Stretch , KeepSize }
 Controls what to do with the selected points of an active selection when the observed widget is resized. More...
 
- Public Types inherited from QwtEventPattern
enum  MousePatternCode {
  MouseSelect1 , MouseSelect2 , MouseSelect3 , MouseSelect4 ,
  MouseSelect5 , MouseSelect6 , MousePatternCount
}
 Symbolic mouse input codes. More...
 
enum  KeyPatternCode {
  KeySelect1 , KeySelect2 , KeyAbort , KeyLeft ,
  KeyRight , KeyUp , KeyDown , KeyRedo ,
  KeyUndo , KeyHome , KeyPatternCount
}
 Symbolic keyboard input codes. More...
 

Public Member Functions

 QwtPlotSeriesDataPicker (QWidget *canvas)
 
void setPickMode (PickSeriesMode mode)
 设置拾取模式
 
PickSeriesMode pickMode () const
 获取当前的拾取模式
 
void setTextArea (TextPlacement t)
 设置文字显示的区域
 
TextPlacement textArea () const
 文字显示的位置
 
void setInterpolationMode (InterpolationMode mode)
 设置插值模式
 
InterpolationMode interpolationMode () const
 获取插值模式
 
bool isInterpolation () const
 判断是否进行插值
 
void setNearestSearchWindowSize (int windowSize)
 临近点搜索窗口大小
 
int nearestSearchWindowSize () const
 临近点搜索窗口大小
 
void setEnableDrawFeaturePoint (bool on=true)
 设置是否绘制特征点
 
bool isEnableDrawFeaturePoint () const
 是否绘制特征点
 
void setDrawFeaturePointSize (int px)
 设置绘制的特征点的大小
 
int drawFeaturePointSize () const
 设置绘制的特征点的大小
 
void setTextBackgroundBrush (const QBrush &br)
 设置文本区域的背景颜色
 
QBrush textBackgroundBrush () const
 文本区域的背景颜色
 
void setTextAlignment (Qt::Alignment al)
 设置文字的对其方式
 
Qt::Alignment textAlignment () const
 文字的对其方式
 
void setEnableShowXValue (bool on)
 设置是否显示x值
 
bool isEnableShowXValue () const
 是否显示x值
 
QwtText trackerText (const QPoint &pos) const QWT_OVERRIDE
 trackerText的重载
 
QRect trackerRect (const QFont &f) const QWT_OVERRIDE
 绘制的区域在
 
virtual void drawRubberBand (QPainter *painter) const QWT_OVERRIDE
 Draw a rubber band, depending on rubberBand()
 
virtual void setTrackerPosition (const QPoint &pos) QWT_OVERRIDE
 强制设置trackerPosition,正常这个不需要调用,但有时候没有鼠标也想显示picker可以通过此函数来设置
 
- Public Member Functions inherited from QwtCanvasPicker
 QwtCanvasPicker (QWidget *canvas)
 
QwtPlotplot ()
 
const QwtPlotplot () const
 
QWidget * canvas ()
 
const QWidget * canvas () const
 
- Public Member Functions inherited from QwtPicker
 QwtPicker (QWidget *parent)
 Constructor.
 
 QwtPicker (RubberBand rubberBand, DisplayMode trackerMode, QWidget *)
 Constructor.
 
virtual ~QwtPicker ()
 Destructor.
 
void setStateMachine (QwtPickerMachine *)
 Set a state machine and delete the previous one.
 
const QwtPickerMachinestateMachine () const
 
QwtPickerMachinestateMachine ()
 
void setRubberBand (RubberBand)
 Set the rubber band style.
 
RubberBand rubberBand () const
 
void setTrackerMode (DisplayMode)
 Set the display mode of the tracker.
 
DisplayMode trackerMode () const
 
void setResizeMode (ResizeMode)
 Set the resize mode.
 
ResizeMode resizeMode () const
 
void setRubberBandPen (const QPen &)
 Set the pen for the rubberband.
 
QPen rubberBandPen () const
 
void setTrackerPen (const QPen &)
 Set the pen for the tracker.
 
QPen trackerPen () const
 
void setTrackerFont (const QFont &)
 Set the font for the tracker.
 
QFont trackerFont () const
 
bool isEnabled () const
 
bool isActive () const
 A picker is active between begin() and end().
 
virtual bool eventFilter (QObject *, QEvent *) QWT_OVERRIDE
 Event filter.
 
QWidget * parentWidget ()
 Return the parent widget, where the selection happens.
 
const QWidget * parentWidget () const
 Return the parent widget, where the selection happens.
 
virtual QPainterPath pickArea () const
 Find the area of the observed widget, where selection might happen.
 
virtual void drawTracker (QPainter *) const
 Draw the tracker.
 
virtual QRegion trackerMask () const
 Calculate the mask for the tracker overlay.
 
virtual QRegion rubberBandMask () const
 Calculate the mask for the rubber band overlay.
 
QPoint trackerPosition () const
 
QPolygon selection () const
 
void update ()
 
void setActive (bool on)
 
- Public Member Functions inherited from QwtEventPattern
 QwtEventPattern ()
 Constructor.
 
virtual ~QwtEventPattern ()
 Destructor.
 
void initMousePattern (int numButtons)
 Set default mouse patterns, depending on the number of mouse buttons.
 
void initKeyPattern ()
 Set default mouse patterns.
 
void setMousePattern (MousePatternCode, Qt::MouseButton button, Qt::KeyboardModifiers=Qt::NoModifier)
 Change one mouse pattern.
 
void setKeyPattern (KeyPatternCode, int key, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
 Change one key pattern.
 
void setMousePattern (const QVector< MousePattern > &)
 Change the mouse event patterns.
 
void setKeyPattern (const QVector< KeyPattern > &)
 Change the key event patterns.
 
const QVector< MousePattern > & mousePattern () const
 
const QVector< KeyPattern > & keyPattern () const
 
QVector< MousePattern > & mousePattern ()
 
QVector< KeyPattern > & keyPattern ()
 
bool mouseMatch (MousePatternCode, const QMouseEvent *) const
 Compare a mouse event with an event pattern.
 
bool keyMatch (KeyPatternCode, const QKeyEvent *) const
 Compare a key event with an event pattern.
 

Protected Member Functions

virtual QString valueString (const QList< FeaturePoint > &fps) const
 
virtual void drawFeaturePoints (QPainter *painter) const
 绘制特征点,把捕获到的点进行绘制
 
virtual void move (const QPoint &pos) QWT_OVERRIDE
 Move the last point of the selection The moved() signal is emitted.
 
QString formatAxisValue (double value, int axisId, QwtPlot *plot) const
 
void updateFeaturePoint (const QPoint &pos)
 
- Protected Member Functions inherited from QwtPicker
virtual QPolygon adjustedPoints (const QPolygon &) const
 Map the pickedPoints() into a selection()
 
virtual void transition (const QEvent *)
 Passes an event to the state machine and executes the resulting commands.
 
virtual void begin ()
 Open a selection setting the state to active.
 
virtual void append (const QPoint &)
 Append a point to the selection and update rubber band and tracker.
 
virtual void remove ()
 Remove the last point of the selection The removed() signal is emitted.
 
virtual bool end (bool ok=true)
 Close a selection setting the state to inactive.
 
virtual bool accept (QPolygon &) const
 Validate and fix up the selection.
 
virtual void reset ()
 Reset the state machine and terminate ( end(false) ) the selection.
 
virtual void widgetMousePressEvent (QMouseEvent *)
 Handle a mouse press event for the observed widget.
 
virtual void widgetMouseReleaseEvent (QMouseEvent *)
 Handle a mouse release event for the observed widget.
 
virtual void widgetMouseDoubleClickEvent (QMouseEvent *)
 Handle mouse double click event for the observed widget.
 
virtual void widgetMouseMoveEvent (QMouseEvent *)
 Handle a mouse move event for the observed widget.
 
virtual void widgetWheelEvent (QWheelEvent *)
 Handle a wheel event for the observed widget.
 
virtual void widgetKeyPressEvent (QKeyEvent *)
 Handle a key press event for the observed widget.
 
virtual void widgetKeyReleaseEvent (QKeyEvent *)
 Handle a key release event for the observed widget.
 
virtual void widgetEnterEvent (QEvent *)
 Handle a enter event for the observed widget.
 
virtual void widgetLeaveEvent (QEvent *)
 Handle a leave event for the observed widget.
 
virtual void stretchSelection (const QSize &oldSize, const QSize &newSize)
 Scale the selection by the ratios of oldSize and newSize The changed() signal is emitted.
 
virtual void updateDisplay ()
 Update the state of rubber band and tracker label.
 
const QwtWidgetOverlayrubberBandOverlay () const
 
const QwtWidgetOverlaytrackerOverlay () const
 
const QPolygon & pickedPoints () const
 Return the points, that have been collected so far.
 
- Protected Member Functions inherited from QwtEventPattern
virtual bool mouseMatch (const MousePattern &, const QMouseEvent *) const
 Compare a mouse event with an event pattern.
 
virtual bool keyMatch (const KeyPattern &, const QKeyEvent *) const
 Compare a key event with an event pattern.
 

Additional Inherited Members

- Public Slots inherited from QwtPicker
void setEnabled (bool)
 En/disable the picker.
 
- Signals inherited from QwtPicker
void activated (bool on)
 A signal indicating, when the picker has been activated.
 
void selected (const QPolygon &polygon)
 A signal emitting the selected points, at the end of a selection.
 
void appended (const QPoint &pos)
 A signal emitted when a point has been appended to the selection.
 
void moved (const QPoint &pos)
 A signal emitted whenever the last appended point of the selection has been moved.
 
void removed (const QPoint &pos)
 A signal emitted whenever the last appended point of the selection has been removed.
 
void changed (const QPolygon &selection)
 A signal emitted when the active selection has been changed.
 
- Properties inherited from QwtPicker
bool isEnabled
 
ResizeMode resizeMode
 
DisplayMode trackerMode
 
QPen trackerPen
 
QFont trackerFont
 
RubberBand rubberBand
 
QPen rubberBandPen
 

Detailed Description

这是一个绘图数据拾取显示类,用于显示当前的y值,或者显示最近点

Member Enumeration Documentation

◆ InterpolationMode

插值模式枚举

Enumerator
NoInterpolation 

不进行插值,使用最近的数据点

LinearInterpolation 

线性插值,在相邻数据点之间进行插值计算

◆ PickSeriesMode

拾取模式

Enumerator
PickYValue 

拾取y值(默认)

PickNearestPoint 

拾取最接近鼠标光标位置的点(此模式会比较耗时,曲线点非常多的时候谨慎使用)

◆ TextPlacement

The TextArea enum.

Enumerator
TextPlaceAuto 

自动放置(pick y的时候放置在顶部,pick nearest的时候跟随鼠标)

TextFollowOnTop 

放在绘图区的顶部(默认)

TextFollowOnBottom 

放在绘图区的底部

TextFollowMouse 

跟随鼠标指针

TextOnCanvasTopRight 

文字在画布的右上角

TextOnCanvasTopLeft 

文字在画布的左上角

TextOnCanvasBottomRight 

文字在画布的右下角

TextOnCanvasBottomLeft 

文字在画布的左下角

TextOnCanvasTopAuto 

文字在画布的上边,具体是左是右根据鼠标位置来自动识别,尽量避免不影响鼠标位置

TextOnCanvasBottomAuto 

文字在画布的下边,具体是左是右根据鼠标位置来自动识别,尽量避免不影响鼠标位置

Member Function Documentation

◆ drawFeaturePoints()

void QwtPlotSeriesDataPicker::drawFeaturePoints ( QPainter *  painter) const
protectedvirtual

绘制特征点,把捕获到的点进行绘制

如果想特征点绘制进行自定义,可重写此函数

Note
setEnableDrawFeaturePoint
Parameters
painter

◆ drawFeaturePointSize()

int QwtPlotSeriesDataPicker::drawFeaturePointSize ( ) const

设置绘制的特征点的大小

Returns

◆ drawRubberBand()

void QwtPlotSeriesDataPicker::drawRubberBand ( QPainter *  painter) const
virtual

Draw a rubber band, depending on rubberBand()

Parameters
painterPainter, initialized with a clip region
See also
rubberBand(), RubberBand

Reimplemented from QwtPicker.

◆ interpolationMode()

QwtPlotSeriesDataPicker::InterpolationMode QwtPlotSeriesDataPicker::interpolationMode ( ) const

获取插值模式

Returns
当前的插值模式

◆ isEnableDrawFeaturePoint()

bool QwtPlotSeriesDataPicker::isEnableDrawFeaturePoint ( ) const

是否绘制特征点

Returns

◆ isEnableShowXValue()

bool QwtPlotSeriesDataPicker::isEnableShowXValue ( ) const

是否显示x值

Returns

◆ isInterpolation()

bool QwtPlotSeriesDataPicker::isInterpolation ( ) const

判断是否进行插值

如果插值,那么在鼠标不在对应点上时,会插值找到对应的连接线上的点

Returns

◆ move()

void QwtPlotSeriesDataPicker::move ( const QPoint &  pos)
protectedvirtual

Move the last point of the selection The moved() signal is emitted.

Parameters
posNew position
See also
isActive(), begin(), end(), append()

Reimplemented from QwtPicker.

◆ nearestSearchWindowSize()

int QwtPlotSeriesDataPicker::nearestSearchWindowSize ( ) const

临近点搜索窗口大小

Returns
此尺寸会返回负数,具体可见setNearestSearchWindowSize
See also
setNearestSearchWindowSize

◆ pickMode()

QwtPlotSeriesDataPicker::PickSeriesMode QwtPlotSeriesDataPicker::pickMode ( ) const

获取当前的拾取模式

Returns

◆ setDrawFeaturePointSize()

void QwtPlotSeriesDataPicker::setDrawFeaturePointSize ( int  px)

设置绘制的特征点的大小

Parameters
px

◆ setEnableDrawFeaturePoint()

void QwtPlotSeriesDataPicker::setEnableDrawFeaturePoint ( bool  on = true)

设置是否绘制特征点

Parameters
on

◆ setEnableShowXValue()

void QwtPlotSeriesDataPicker::setEnableShowXValue ( bool  on)

设置是否显示x值

Parameters
on

◆ setInterpolationMode()

void QwtPlotSeriesDataPicker::setInterpolationMode ( QwtPlotSeriesDataPicker::InterpolationMode  mode)

设置插值模式

Parameters
mode插值模式

◆ setNearestSearchWindowSize()

void QwtPlotSeriesDataPicker::setNearestSearchWindowSize ( int  windowSize)

临近点搜索窗口大小

窗口大小决定了临近点搜索的范围,避免全曲线遍历

窗口尺寸可以设置为负值,负值将是以曲线点数的百分比进行窗口设置:

  • 0: 不使用窗口,搜索整个曲线
  • 正数: 固定的窗口大小(数据点数量)
  • 负数: 自适应窗口,使用曲线数据点总数的百分比(取绝对值,如-5表示5)
Parameters
windowSize窗口尺寸

此属性默认为-5

◆ setPickMode()

void QwtPlotSeriesDataPicker::setPickMode ( PickSeriesMode  mode)

设置拾取模式

Parameters
mode拾取模式

◆ setTextAlignment()

void QwtPlotSeriesDataPicker::setTextAlignment ( Qt::Alignment  al)

设置文字的对其方式

Parameters
al

◆ setTextArea()

void QwtPlotSeriesDataPicker::setTextArea ( QwtPlotSeriesDataPicker::TextPlacement  t)

设置文字显示的区域

Parameters
t

◆ setTextBackgroundBrush()

void QwtPlotSeriesDataPicker::setTextBackgroundBrush ( const QBrush &  br)

设置文本区域的背景颜色

Parameters
br

◆ setTrackerPosition()

void QwtPlotSeriesDataPicker::setTrackerPosition ( const QPoint &  pos)
virtual

强制设置trackerPosition,正常这个不需要调用,但有时候没有鼠标也想显示picker可以通过此函数来设置

Parameters
pos

Reimplemented from QwtPicker.

◆ textAlignment()

Qt::Alignment QwtPlotSeriesDataPicker::textAlignment ( ) const

文字的对其方式

Returns

◆ textArea()

QwtPlotSeriesDataPicker::TextPlacement QwtPlotSeriesDataPicker::textArea ( ) const

文字显示的位置

Returns
See also
QwtPlotSeriesDataPicker::TextPlacement

◆ textBackgroundBrush()

QBrush QwtPlotSeriesDataPicker::textBackgroundBrush ( ) const

文本区域的背景颜色

Returns

◆ trackerRect()

QRect QwtPlotSeriesDataPicker::trackerRect ( const QFont &  f) const
virtual

绘制的区域在

根据文字显示的位置,调整矩形

Parameters
f
Returns

Reimplemented from QwtPicker.

◆ trackerText()

QwtText QwtPlotSeriesDataPicker::trackerText ( const QPoint &  pos) const
virtual

trackerText的重载

QwtPlotPicker是基于固定x和y轴的,QwtPlot上的item有可能绑定不同的x轴和y轴,因此这里不使用trackerTextF

通过pickYPoint或

Parameters
pos
Returns

Reimplemented from QwtPicker.


The documentation for this class was generated from the following files: