|
QWT API (English) 7.3.0
Qt Widget Library for Technical Applications - English API Documentation
|
A plot data picker class for displaying current y-values or nearest points. More...
#include <qwt_plot_series_data_picker.h>
Classes | |
| struct | FeaturePoint |
| Feature point structure. More... | |
| class | PrivateData |
Signals | |
| void | clicked (QwtPlotSeriesDataPicker *picker, const QPoint &pos) |
| Emitted when the user left-clicks on the plot canvas. | |
| void | doubleClicked (QwtPlotSeriesDataPicker *picker, const QPoint &pos) |
| Emitted when the user double-left-clicks on the plot canvas. | |
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. | |
Public Member Functions | |
| QwtPlotSeriesDataPicker (QWidget *canvas) | |
| Constructor. | |
| ~QwtPlotSeriesDataPicker () override | |
| 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. | |
| QList< FeaturePoint > | featurePoints () const |
| Returns the list of feature points currently picked by the tracker. | |
| 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) |
| Whether to show X value. | |
| bool | isEnableShowXValue () const |
| Check if showing X value is enabled. | |
| void | setTextTrackerOffset (const QPoint &offset) |
| Set the tracker rectangle offset in TextFollowMouse mode. | |
| QPoint | textTrackerOffset () const |
| Get the current tracker rectangle offset in TextFollowMouse mode. | |
| QwtText | trackerText (const QPoint &pos) const override |
| Top rectangle text. | |
| QRect | trackerRect (const QFont &f) const override |
| Keep rectangle at top. | |
| virtual void | drawRubberBand (QPainter *painter) const override |
| Draw rubber band. | |
| virtual void | setTrackerPosition (const QPoint &pos) override |
| Manually set position. | |
Public Member Functions inherited from QwtCanvasPicker | |
| QwtCanvasPicker (QWidget *canvas) | |
| Constructor with canvas widget. | |
| ~QwtCanvasPicker () override | |
| Destructor. | |
| QwtPlot * | plot () |
| Get the associated plot. | |
| const QwtPlot * | plot () 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 QwtPickerMachine * | stateMachine () const |
| Return the assigned state machine (const) | |
| QwtPickerMachine * | stateMachine () |
| 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 the specified screen position; returns the number picked. | |
| virtual int | pickNearestPoint (const QwtPlot *plot, const QPoint &pos, int windowSize=-5) |
| Get the nearest pickable point at the specified screen position (window-based fast indexing) | |
| virtual void | widgetMousePressEvent (QMouseEvent *event) override |
| Handle mouse press events on the widget. | |
| virtual void | widgetMouseDoubleClickEvent (QMouseEvent *event) override |
| Handle mouse double-click events on the widget. | |
| 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 | widgetMouseReleaseEvent (QMouseEvent *) |
| Handle a mouse release 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 QwtWidgetOverlay * | rubberBandOverlay () const |
| Return the overlay displaying the rubber band. | |
| const QwtWidgetOverlay * | trackerOverlay () 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. | |
Properties inherited from QwtPicker | |
| bool | isEnabled |
| ResizeMode | resizeMode |
| DisplayMode | trackerMode |
| QPen | trackerPen |
| QFont | trackerFont |
| RubberBand | rubberBand |
| QPen | rubberBandPen |
A plot data picker class for displaying current y-values or nearest points.
QwtPlotSeriesDataPicker is a plot data picker class that displays current y-values or the nearest points to the mouse cursor position.
Text placement options.
|
signal |
Emitted when the user left-clicks on the plot canvas.
| picker | Pointer to the picker that was clicked |
| pos | Screen position of the click event |
|
signal |
Emitted when the user double-left-clicks on the plot canvas.
| picker | Pointer to the picker that was double-clicked |
| pos | Screen position of the double-click event |
|
protectedvirtual |
Draw a single feature point on the plot.
This virtual method is responsible for rendering individual feature points on the QwtPlot canvas. Users can override this function to implement custom drawing styles for feature points (e.g., different shapes, colors, or visual effects).
The default implementation draws a circular point at the specified position:
| painter | The QPainter object for drawing operations |
| plot | Reference to the QwtPlot widget where drawing occurs |
| item | The curve item associated with this feature point |
| itemPoint | The coordinates of the feature point in plot coordinates |
| int QwtPlotSeriesDataPicker::drawFeaturePointSize | ( | ) | const |
Get feature point size.
Get drawn feature point size.
|
overridevirtual |
Draw rubber band.
Reimplemented from QwtPicker.
| QList< QwtPlotSeriesDataPicker::FeaturePoint > QwtPlotSeriesDataPicker::featurePoints | ( | ) | const |
Returns the list of feature points currently picked by the tracker.
| QwtPlotSeriesDataPicker::InterpolationMode QwtPlotSeriesDataPicker::interpolationMode | ( | ) | const |
| bool QwtPlotSeriesDataPicker::isEnableDrawFeaturePoint | ( | ) | const |
Check if feature point drawing is enabled.
| bool QwtPlotSeriesDataPicker::isEnableShowXValue | ( | ) | const |
| bool QwtPlotSeriesDataPicker::isInterpolation | ( | ) | const |
Check if interpolation is enabled.
If interpolation is enabled, when the mouse is not on a data point, the corresponding point on the connecting line will be interpolated.
|
overrideprotectedvirtual |
| int QwtPlotSeriesDataPicker::nearestSearchWindowSize | ( | ) | const |
Get nearest search window size.
Get nearest point search window size.
| QwtPlotSeriesDataPicker::PickSeriesMode QwtPlotSeriesDataPicker::pickMode | ( | ) | const |
|
protectedvirtual |
Get the nearest pickable point at the specified screen position (window-based fast indexing)
Get the nearest pickable point at the specified screen position.
| plot | Plot widget |
| pos | Screen position |
| windowSize | Window size
|
|
protectedvirtual |
Get all pickable Y values at the specified screen position; returns the number picked.
Get all pickable Y values at a specified screen position.
This method scans all pickable curves at a given screen coordinate position and collects their corresponding data points. It supports both host and parasitic plots, traversing through all related plot items regardless of their hosting relationship.
The function returns the total count of feature points successfully picked. For each picked point, the internal data structures are updated with the curve information and calculated Y values.
| plot | The plot widget (can be either host or parasitic plot) |
| pos | Screen position in widget coordinates |
| interpolate | Whether to perform interpolation between data points. When true, linear interpolation is applied if the position falls between two data points; otherwise, the nearest data point is selected. |
| void QwtPlotSeriesDataPicker::setDrawFeaturePointSize | ( | int | px | ) |
Set feature point size.
Set drawn feature point size.
| [in] | px | Size in pixels |
| void QwtPlotSeriesDataPicker::setEnableDrawFeaturePoint | ( | bool | on = true | ) |
Enable/disable feature point drawing.
| [in] | on | Enable/disable |
| void QwtPlotSeriesDataPicker::setEnableShowXValue | ( | bool | on | ) |
Whether to show X value.
Enable/disable showing X value.
| [in] | on | Enable/disable |
| void QwtPlotSeriesDataPicker::setInterpolationMode | ( | QwtPlotSeriesDataPicker::InterpolationMode | mode | ) |
| void QwtPlotSeriesDataPicker::setNearestSearchWindowSize | ( | int | windowSize | ) |
Set nearest search window size.
Set nearest point search window size.
Window size determines the search range for nearest points, avoiding full curve traversal. Window size can be set to negative values, which will use a percentage of curve point count:
| [in] | windowSize | Window size (default is -5) |
| void QwtPlotSeriesDataPicker::setPickMode | ( | PickSeriesMode | mode | ) |
| void QwtPlotSeriesDataPicker::setTextAlignment | ( | Qt::Alignment | al | ) |
| void QwtPlotSeriesDataPicker::setTextArea | ( | QwtPlotSeriesDataPicker::TextPlacement | t | ) |
| void QwtPlotSeriesDataPicker::setTextBackgroundBrush | ( | const QBrush & | br | ) |
Set text background brush.
Set text area background brush.
| [in] | br | Background brush |
| void QwtPlotSeriesDataPicker::setTextTrackerOffset | ( | const QPoint & | offset | ) |
Set the tracker rectangle offset in TextFollowMouse mode.
Set the offset of tracker rectangle in TextFollowMouse mode.
This method configures the positional offset for the tracker rectangle when operating in TextFollowMouse mode. The offset prevents the rectangle from being positioned directly adjacent to the mouse cursor, which enhances visual clarity and prevents the tracker from obscuring the text content beneath the cursor.
| offset | The offset value in pixels. Positive values move the tracker away from the cursor position. Recommended values are typically between 10-30 pixels for optimal user experience. |
|
overridevirtual |
Manually set position.
Reimplemented from QwtPicker.
| Qt::Alignment QwtPlotSeriesDataPicker::textAlignment | ( | ) | const |
| QwtPlotSeriesDataPicker::TextPlacement QwtPlotSeriesDataPicker::textArea | ( | ) | const |
| QBrush QwtPlotSeriesDataPicker::textBackgroundBrush | ( | ) | const |
Get text background brush.
Get text area background brush.
| QPoint QwtPlotSeriesDataPicker::textTrackerOffset | ( | ) | const |
Get the current tracker rectangle offset in TextFollowMouse mode.
This method returns the current offset value used to position the tracker rectangle relative to the mouse cursor in TextFollowMouse mode. The offset ensures that the tracker rectangle is not placed directly under the mouse, preventing visual obstruction of the underlying content.
|
overridevirtual |
Keep rectangle at top.
Reimplemented from QwtPicker.
|
overridevirtual |
Top rectangle text.
Reimplemented from QwtPicker.
|
overrideprotectedvirtual |
Handle mouse double-click events on the widget.
Emits doubleClicked() for left-button double-clicks. A double-click also triggers clicked() (via widgetMousePressEvent) before this signal. Then delegates to base class.
| event | The mouse double-click event |
Reimplemented from QwtPicker.
|
overrideprotectedvirtual |
Handle mouse press events on the widget.
Emits clicked() for left-button presses, after updating feature points at the press position to ensure featurePoints() returns accurate data. Then delegates to base class for normal picker transition handling.
| event | The mouse press event |
Reimplemented from QwtPicker.