QWT API (English) 7.0.1
Qt Widget Library for Technical Applications - English API Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Member Functions | List of all members
QwtPlotSeriesDataPicker Class Reference

A plot data picker class for displaying current y-values or nearest points. More...

#include <qwt_plot_series_data_picker.h>

Inheritance diagram for QwtPlotSeriesDataPicker:
QwtCanvasPicker QwtPicker QwtEventPattern

Classes

struct  FeaturePoint
 Feature point structure . More...
 
class  PrivateData
 

Public Types

enum  PickSeriesMode { PickYValue , PickNearestPoint }
 Pick modes . More...
 
enum  TextPlacement {
  TextPlaceAuto , TextFollowOnTop , TextFollowOnBottom , TextFollowMouse ,
  TextOnCanvasTopRight , TextOnCanvasTopLeft , TextOnCanvasBottomRight , TextOnCanvasBottomLeft ,
  TextOnCanvasTopAuto , TextOnCanvasBottomAuto
}
 Text placement options . More...
 
enum  InterpolationMode { NoInterpolation , LinearInterpolation }
 Interpolation modes . 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 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)
 Constructor.
 
 ~QwtPlotSeriesDataPicker ()
 Destructor.
 
void setPickMode (PickSeriesMode mode)
 Set pick mode.
 
PickSeriesMode pickMode () const
 Get pick mode.
 
void setTextArea (TextPlacement t)
 Set text placement.
 
TextPlacement textArea () const
 Get text placement.
 
void setInterpolationMode (InterpolationMode mode)
 Set interpolation mode.
 
InterpolationMode interpolationMode () const
 Get interpolation mode.
 
bool isInterpolation () const
 Check if interpolation is enabled.
 
void setNearestSearchWindowSize (int windowSize)
 Set nearest search window size.
 
int nearestSearchWindowSize () const
 Get nearest search window size.
 
void setEnableDrawFeaturePoint (bool on=true)
 Enable/disable feature point drawing.
 
bool isEnableDrawFeaturePoint () const
 Check if feature point drawing is enabled.
 
void setDrawFeaturePointSize (int px)
 Set feature point size.
 
int drawFeaturePointSize () const
 Get feature point size.
 
void setTextBackgroundBrush (const QBrush &br)
 Set text background brush.
 
QBrush textBackgroundBrush () const
 Get text background brush.
 
void setTextAlignment (Qt::Alignment al)
 Set text alignment.
 
Qt::Alignment textAlignment () const
 Get text alignment.
 
void setEnableShowXValue (bool on)
 Enable/disable showing X value.
 
bool isEnableShowXValue () const
 Check if showing X value is enabled.
 
void setTextTrackerOffset (const QPoint &offset)
 Set the offset of tracker rectangle in TextFollowMouse mode.
 
QPoint textTrackerOffset () const
 Get the current tracker rectangle offset in TextFollowMouse mode.
 
QwtText trackerText (const QPoint &pos) const override
 Return the label for a position.
 
QRect trackerRect (const QFont &f) const override
 Calculate the bounding rectangle for the tracker text from the current position of the tracker.
 
virtual void drawRubberBand (QPainter *painter) const override
 Draw a rubber band, depending on rubberBand()
 
virtual void setTrackerPosition (const QPoint &pos) override
 Set the tracker position manually.
 
- Public Member Functions inherited from QwtCanvasPicker
 QwtCanvasPicker (QWidget *canvas)
 Constructor with canvas widget.
 
 ~QwtCanvasPicker ()
 Destructor .
 
QwtPlotplot ()
 Get the associated plot.
 
const QwtPlotplot () const
 Get the associated plot (const version)
 
QWidget * canvas ()
 Get the canvas widget.
 
const QWidget * canvas () const
 Get the canvas widget (const version)
 
- Public Member Functions inherited from QwtPicker
 QwtPicker (QWidget *parent)
 Constructor.
 
 QwtPicker (RubberBand rubberBand, DisplayMode trackerMode, QWidget *)
 
void setStateMachine (QwtPickerMachine *)
 Set a state machine and delete the previous one.
 
const QwtPickerMachinestateMachine () const
 Return the assigned state machine (const)
 
QwtPickerMachinestateMachine ()
 Return the assigned state machine.
 
void setRubberBand (RubberBand)
 Set the rubber band style.
 
RubberBand rubberBand () const
 Return the rubber band style.
 
void setTrackerMode (DisplayMode)
 Set the display mode of the tracker.
 
DisplayMode trackerMode () const
 Return the tracker display mode.
 
void setResizeMode (ResizeMode)
 Set the resize mode.
 
ResizeMode resizeMode () const
 Return the resize mode.
 
void setRubberBandPen (const QPen &)
 Set the pen for the rubber band.
 
QPen rubberBandPen () const
 Return the rubber band pen.
 
void setTrackerPen (const QPen &)
 Set the pen for the tracker.
 
QPen trackerPen () const
 Return the tracker pen.
 
void setTrackerFont (const QFont &)
 Set the font for the tracker.
 
QFont trackerFont () const
 Return the tracker font.
 
bool isEnabled () const
 Return true when enabled, false otherwise.
 
bool isActive () const
 A picker is active between begin() and end()
 
virtual bool eventFilter (QObject *, QEvent *) override
 Event filter for handling events.
 
QWidget * parentWidget ()
 Return the parent widget, where the selection happens.
 
const QWidget * parentWidget () const
 Return the parent widget, where the selection happens (const)
 
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
 Return the current position of the tracker.
 
QPolygon selection () const
 Return the selected points.
 
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 key 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
 Return the mouse pattern vector.
 
const QVector< KeyPattern > & keyPattern () const
 Return the key pattern vector.
 
QVector< MousePattern > & mousePattern ()
 Return the mouse pattern vector.
 
QVector< KeyPattern > & keyPattern ()
 Return the key pattern vector.
 
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 int pickYValue (const QwtPlot *p, const QPoint &pos, bool interpolate=false)
 Get all pickable Y values at a specified screen position.
 
virtual int pickNearestPoint (const QwtPlot *plot, const QPoint &pos, int windowSize=-5)
 获取绘图区域指定屏幕位置上最近的可拾取点
 
virtual QString valueString (const QList< FeaturePoint > &fps) const
 
virtual void drawFeaturePoint (QPainter *painter, const QwtPlot *plot, const QwtPlotItem *item, const QPointF &itemPoint) const
 Draw a single feature point on the plot.
 
virtual void move (const QPoint &pos) override
 Move the last point of the selection The moved() signal is emitted.
 
QString formatAxisValue (double value, int axisId, QwtPlot *plot) const
 
- 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
 Return the overlay displaying the rubber band.
 
const QwtWidgetOverlaytrackerOverlay () const
 Return the overlay displaying the tracker text.
 
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)
 Enable or disable the picker.
 
- Signals inherited from QwtPicker
void activated (bool on)
 Signal indicating when the picker has been activated.
 
void selected (const QPolygon &polygon)
 Signal emitting the selected points at the end of a selection.
 
void appended (const QPoint &pos)
 Signal emitted when a point has been appended to the selection.
 
void moved (const QPoint &pos)
 Signal emitted whenever the last appended point of the selection has been moved.
 
void removed (const QPoint &pos)
 Signal emitted whenever the last appended point of the selection has been removed.
 
void changed (const QPolygon &selection)
 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

A plot data picker class for displaying current y-values or nearest points.

Member Enumeration Documentation

◆ InterpolationMode

Interpolation modes .

Enumerator
NoInterpolation 

No interpolation, use nearest data point.

LinearInterpolation 

Linear interpolation between adjacent data points.

◆ PickSeriesMode

Pick modes .

Enumerator
PickYValue 

Pick y-value (default)

PickNearestPoint 

Pick the nearest point to the mouse cursor position (this mode may be time-consuming, use with caution when there are many curve points)

◆ TextPlacement

Text placement options .

Enumerator
TextPlaceAuto 

Auto placement (top for pick y, follow mouse for pick nearest)

TextFollowOnTop 

On top of the plot area (default)

TextFollowOnBottom 

On bottom of the plot area.

TextFollowMouse 

Follow mouse pointer.

TextOnCanvasTopRight 

Text on canvas top right.

TextOnCanvasTopLeft 

Text on canvas top left.

TextOnCanvasBottomRight 

Text on canvas bottom right.

TextOnCanvasBottomLeft 

Text on canvas bottom left.

TextOnCanvasTopAuto 

Text on canvas top, left or right auto-detected based on mouse position.

TextOnCanvasBottomAuto 

Text on canvas bottom, left or right auto-detected based on mouse position.

Member Function Documentation

◆ drawFeaturePoint()

void QwtPlotSeriesDataPicker::drawFeaturePoint ( QPainter *  painter,
const QwtPlot plot,
const QwtPlotItem item,
const QPointF &  itemPoint 
) const
protectedvirtual

Draw a single feature point on the plot.

◆ drawFeaturePointSize()

int QwtPlotSeriesDataPicker::drawFeaturePointSize ( ) const

Get feature point size.

Get drawn feature point size.

◆ drawRubberBand()

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

Draw a rubber band, depending on rubberBand()

Reimplemented from QwtPicker.

◆ interpolationMode()

QwtPlotSeriesDataPicker::InterpolationMode QwtPlotSeriesDataPicker::interpolationMode ( ) const

Get interpolation mode.

◆ isEnableDrawFeaturePoint()

bool QwtPlotSeriesDataPicker::isEnableDrawFeaturePoint ( ) const

Check if feature point drawing is enabled.

◆ isEnableShowXValue()

bool QwtPlotSeriesDataPicker::isEnableShowXValue ( ) const

Check if showing X value is enabled.

◆ isInterpolation()

bool QwtPlotSeriesDataPicker::isInterpolation ( ) const

Check if interpolation is enabled.

◆ move()

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

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

Get nearest search window size.

Get nearest point search window size.

◆ pickMode()

QwtPlotSeriesDataPicker::PickSeriesMode QwtPlotSeriesDataPicker::pickMode ( ) const

Get pick mode.

Get current pick mode.

◆ pickNearestPoint()

int QwtPlotSeriesDataPicker::pickNearestPoint ( const QwtPlot plot,
const QPoint &  pos,
int  windowSize = -5 
)
protectedvirtual

获取绘图区域指定屏幕位置上最近的可拾取点

Parameters
plot绘图对象
pos屏幕位置
windowSize窗口尺寸
  • 0: 不使用窗口,搜索整个曲线
  • 正数: 固定的窗口大小(数据点数量)
  • 负数: 自适应窗口,使用曲线数据点总数的百分比(取绝对值,如-5表示5%,-10代表10)
Returns
包含最近绘图项和对应数据点的配对
Note
此函数考虑了寄生绘图,可以传入宿主绘图或寄生绘图,它会把全部绘图的数据进行获取

◆ pickYValue()

int QwtPlotSeriesDataPicker::pickYValue ( const QwtPlot p,
const QPoint &  pos,
bool  interpolate = false 
)
protectedvirtual

Get all pickable Y values at a specified screen position.

◆ setDrawFeaturePointSize()

void QwtPlotSeriesDataPicker::setDrawFeaturePointSize ( int  px)

Set feature point size.

Set drawn feature point size.

◆ setEnableDrawFeaturePoint()

void QwtPlotSeriesDataPicker::setEnableDrawFeaturePoint ( bool  on = true)

Enable/disable feature point drawing.

◆ setEnableShowXValue()

void QwtPlotSeriesDataPicker::setEnableShowXValue ( bool  on)

Enable/disable showing X value.

◆ setInterpolationMode()

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

Set interpolation mode.

◆ setNearestSearchWindowSize()

void QwtPlotSeriesDataPicker::setNearestSearchWindowSize ( int  windowSize)

Set nearest search window size.

Set nearest point search window size.

◆ setPickMode()

void QwtPlotSeriesDataPicker::setPickMode ( PickSeriesMode  mode)

Set pick mode.

◆ setTextAlignment()

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

Set text alignment.

◆ setTextArea()

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

Set text placement.

Set text display area.

◆ setTextBackgroundBrush()

void QwtPlotSeriesDataPicker::setTextBackgroundBrush ( const QBrush &  br)

Set text background brush.

Set text area background brush.

◆ setTextTrackerOffset()

void QwtPlotSeriesDataPicker::setTextTrackerOffset ( const QPoint &  offset)

Set the offset of tracker rectangle in TextFollowMouse mode.

◆ setTrackerPosition()

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

Set the tracker position manually.

Reimplemented from QwtPicker.

◆ textAlignment()

Qt::Alignment QwtPlotSeriesDataPicker::textAlignment ( ) const

Get text alignment.

◆ textArea()

QwtPlotSeriesDataPicker::TextPlacement QwtPlotSeriesDataPicker::textArea ( ) const

Get text placement.

Get text display position.

◆ textBackgroundBrush()

QBrush QwtPlotSeriesDataPicker::textBackgroundBrush ( ) const

Get text background brush.

Get text area background brush.

◆ textTrackerOffset()

QPoint QwtPlotSeriesDataPicker::textTrackerOffset ( ) const

Get the current tracker rectangle offset in TextFollowMouse mode.

◆ trackerRect()

QRect QwtPlotSeriesDataPicker::trackerRect ( const QFont &  font) const
overridevirtual

Calculate the bounding rectangle for the tracker text from the current position of the tracker.

Reimplemented from QwtPicker.

◆ trackerText()

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

Return the label for a position.

Reimplemented from QwtPicker.


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