Qwt User's Guide  6.2.0
QwtPlotMarker Class Reference

A class for drawing markers. More...

#include <qwt_plot_marker.h>

Inheritance diagram for QwtPlotMarker:

Public Types

enum  LineStyle { NoLine , HLine , VLine , Cross }
 
- Public Types inherited from QwtPlotItem
enum  RttiValues {
  Rtti_PlotItem = 0 , Rtti_PlotGrid , Rtti_PlotScale , Rtti_PlotLegend ,
  Rtti_PlotMarker , Rtti_PlotCurve , Rtti_PlotSpectroCurve , Rtti_PlotIntervalCurve ,
  Rtti_PlotHistogram , Rtti_PlotSpectrogram , Rtti_PlotGraphic , Rtti_PlotTradingCurve ,
  Rtti_PlotBarChart , Rtti_PlotMultiBarChart , Rtti_PlotShape , Rtti_PlotTextLabel ,
  Rtti_PlotZone , Rtti_PlotVectorField , Rtti_PlotUserItem = 1000
}
 Runtime type information. More...
 
enum  ItemAttribute { Legend = 0x01 , AutoScale = 0x02 , Margins = 0x04 }
 Plot Item Attributes. More...
 
enum  ItemInterest { ScaleInterest = 0x01 , LegendInterest = 0x02 }
 Plot Item Interests. More...
 
enum  RenderHint { RenderAntialiased = 0x1 }
 Render hints. More...
 
typedef QFlags< ItemAttributeItemAttributes
 
typedef QFlags< ItemInterestItemInterests
 
typedef QFlags< RenderHintRenderHints
 

Public Member Functions

 QwtPlotMarker ()
 Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine.
 
 QwtPlotMarker (const QString &title)
 Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine.
 
 QwtPlotMarker (const QwtText &title)
 Sets alignment to Qt::AlignCenter, and style to QwtPlotMarker::NoLine.
 
virtual ~QwtPlotMarker ()
 Destructor.
 
virtual int rtti () const override
 
double xValue () const
 Return x Value.
 
double yValue () const
 Return y Value.
 
QPointF value () const
 Return Value.
 
void setXValue (double)
 Set X Value.
 
void setYValue (double)
 Set Y Value.
 
void setValue (double, double)
 Set Value.
 
void setValue (const QPointF &)
 Set Value.
 
void setLineStyle (LineStyle)
 Set the line style. More...
 
LineStyle lineStyle () const
 
void setLinePen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
 
void setLinePen (const QPen &)
 
const QPen & linePen () const
 
void setSymbol (const QwtSymbol *)
 Assign a symbol. More...
 
const QwtSymbolsymbol () const
 
void setLabel (const QwtText &)
 Set the label. More...
 
QwtText label () const
 
void setLabelAlignment (Qt::Alignment)
 Set the alignment of the label. More...
 
Qt::Alignment labelAlignment () const
 
void setLabelOrientation (Qt::Orientation)
 Set the orientation of the label. More...
 
Qt::Orientation labelOrientation () const
 
void setSpacing (int)
 Set the spacing. More...
 
int spacing () const
 
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &) const override
 
virtual QRectF boundingRect () const override
 
virtual QwtGraphic legendIcon (int index, const QSizeF &) const override
 
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem ()
 
 QwtPlotItem (const QString &title)
 
 QwtPlotItem (const QwtText &title)
 
virtual ~QwtPlotItem ()
 Destroy the QwtPlotItem.
 
void attach (QwtPlot *plot)
 Attach the item to a plot. More...
 
void detach ()
 This method detaches a QwtPlotItem from any QwtPlot it has been associated with. More...
 
QwtPlotplot () const
 Return attached plot.
 
void setTitle (const QString &title)
 
void setTitle (const QwtText &title)
 
const QwtTexttitle () const
 
void setItemAttribute (ItemAttribute, bool on=true)
 
bool testItemAttribute (ItemAttribute) const
 
void setItemInterest (ItemInterest, bool on=true)
 
bool testItemInterest (ItemInterest) const
 
void setRenderHint (RenderHint, bool on=true)
 
bool testRenderHint (RenderHint) const
 
void setRenderThreadCount (uint numThreads)
 
uint renderThreadCount () const
 
void setLegendIconSize (const QSize &)
 
QSize legendIconSize () const
 
double z () const
 
void setZ (double z)
 Set the z value. More...
 
void show ()
 Show the item.
 
void hide ()
 Hide the item.
 
virtual void setVisible (bool)
 
bool isVisible () const
 
void setAxes (QwtAxisId xAxis, QwtAxisId yAxis)
 
void setXAxis (QwtAxisId)
 
QwtAxisId xAxis () const
 Return xAxis.
 
void setYAxis (QwtAxisId)
 
QwtAxisId yAxis () const
 Return yAxis.
 
virtual void itemChanged ()
 
virtual void legendChanged ()
 
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect, double &left, double &top, double &right, double &bottom) const
 Calculate a hint for the canvas margin. More...
 
virtual void updateScaleDiv (const QwtScaleDiv &, const QwtScaleDiv &)
 Update the item to changes of the axes scale division. More...
 
virtual void updateLegend (const QwtPlotItem *, const QList< QwtLegendData > &)
 Update the item to changes of the legend info. More...
 
QRectF scaleRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding scale rectangle of 2 maps. More...
 
QRectF paintRect (const QwtScaleMap &, const QwtScaleMap &) const
 Calculate the bounding paint rectangle of 2 maps. More...
 
virtual QList< QwtLegendDatalegendData () const
 Return all information, that is needed to represent the item on the legend. More...
 

Protected Member Functions

virtual void drawLines (QPainter *, const QRectF &, const QPointF &) const
 
virtual void drawSymbol (QPainter *, const QRectF &, const QPointF &) const
 
virtual void drawLabel (QPainter *, const QRectF &, const QPointF &) const
 
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...
 

Detailed Description

A class for drawing markers.

A marker can be a horizontal line, a vertical line, a symbol, a label or any combination of them, which can be drawn around a center point inside a bounding rectangle.

The setSymbol() member assigns a symbol to the marker. The symbol is drawn at the specified point.

With setLabel(), a label can be assigned to the marker. The setLabelAlignment() member specifies where the label is drawn. All the Align*-constants in Qt::AlignmentFlags (see Qt documentation) are valid. The interpretation of the alignment depends on the marker's line style. The alignment refers to the center point of the marker, which means, for example, that the label would be printed left above the center point if the alignment was set to Qt::AlignLeft | Qt::AlignTop.

Note
QwtPlotTextLabel is intended to align a text label according to the geometry of canvas ( unrelated to plot coordinates )

Definition at line 45 of file qwt_plot_marker.h.

Member Enumeration Documentation

◆ LineStyle

Line styles.

See also
setLineStyle(), lineStyle()
Enumerator
NoLine 

No line.

HLine 

A horizontal line.

VLine 

A vertical line.

Cross 

A crosshair.

Definition at line 53 of file qwt_plot_marker.h.

Member Function Documentation

◆ boundingRect()

QRectF QwtPlotMarker::boundingRect ( ) const
overridevirtual
Returns
An invalid bounding rect: QRectF(1.0, 1.0, -2.0, -2.0)
Note
A width or height < 0.0 is ignored by the autoscaler

Reimplemented from QwtPlotItem.

Definition at line 572 of file qwt_plot_marker.cpp.

◆ draw()

void QwtPlotMarker::draw ( QPainter *  painter,
const QwtScaleMap xMap,
const QwtScaleMap yMap,
const QRectF &  canvasRect 
) const
overridevirtual

Draw the marker

Parameters
painterPainter
xMapx Scale Map
yMapy Scale Map
canvasRectContents rectangle of the canvas in painter coordinates

Implements QwtPlotItem.

Definition at line 142 of file qwt_plot_marker.cpp.

◆ drawLabel()

void QwtPlotMarker::drawLabel ( QPainter *  painter,
const QRectF &  canvasRect,
const QPointF &  pos 
) const
protectedvirtual

Align and draw the text label of the marker

Parameters
painterPainter
canvasRectContents rectangle of the canvas in painter coordinates
posPosition of the marker, translated into widget coordinates
See also
drawLabel(), drawSymbol()

Definition at line 232 of file qwt_plot_marker.cpp.

◆ drawLines()

void QwtPlotMarker::drawLines ( QPainter *  painter,
const QRectF &  canvasRect,
const QPointF &  pos 
) const
protectedvirtual

Draw the lines marker

Parameters
painterPainter
canvasRectContents rectangle of the canvas in painter coordinates
posPosition of the marker, translated into widget coordinates
See also
drawLabel(), drawSymbol()

Definition at line 163 of file qwt_plot_marker.cpp.

◆ drawSymbol()

void QwtPlotMarker::drawSymbol ( QPainter *  painter,
const QRectF &  canvasRect,
const QPointF &  pos 
) const
protectedvirtual

Draw the symbol of the marker

Parameters
painterPainter
canvasRectContents rectangle of the canvas in painter coordinates
posPosition of the marker, translated into widget coordinates
See also
drawLabel(), QwtSymbol::drawSymbol()

Definition at line 203 of file qwt_plot_marker.cpp.

◆ label()

QwtText QwtPlotMarker::label ( ) const
Returns
the label
See also
setLabel()

Definition at line 433 of file qwt_plot_marker.cpp.

◆ labelAlignment()

Qt::Alignment QwtPlotMarker::labelAlignment ( ) const
Returns
the label alignment
See also
setLabelAlignment(), setLabelOrientation()

Definition at line 465 of file qwt_plot_marker.cpp.

◆ labelOrientation()

Qt::Orientation QwtPlotMarker::labelOrientation ( ) const
Returns
the label orientation
See also
setLabelOrientation(), labelAlignment()

Definition at line 493 of file qwt_plot_marker.cpp.

◆ legendIcon()

QwtGraphic QwtPlotMarker::legendIcon ( int  index,
const QSizeF &  size 
) const
overridevirtual
Returns
Icon representing the marker on the legend
Parameters
indexIndex of the legend entry ( usually there is only one )
sizeIcon size
See also
setLegendIconSize(), legendData()

Reimplemented from QwtPlotItem.

Definition at line 598 of file qwt_plot_marker.cpp.

◆ linePen()

const QPen & QwtPlotMarker::linePen ( ) const
Returns
the line pen
See also
setLinePen()

Definition at line 567 of file qwt_plot_marker.cpp.

◆ lineStyle()

QwtPlotMarker::LineStyle QwtPlotMarker::lineStyle ( ) const
Returns
the line style
See also
setLineStyle()

Definition at line 381 of file qwt_plot_marker.cpp.

◆ rtti()

int QwtPlotMarker::rtti ( ) const
overridevirtual
Returns
QwtPlotItem::Rtti_PlotMarker

Reimplemented from QwtPlotItem.

Definition at line 82 of file qwt_plot_marker.cpp.

◆ setLabel()

void QwtPlotMarker::setLabel ( const QwtText label)

Set the label.

Parameters
labelLabel text
See also
label()

Definition at line 420 of file qwt_plot_marker.cpp.

◆ setLabelAlignment()

void QwtPlotMarker::setLabelAlignment ( Qt::Alignment  align)

Set the alignment of the label.

In case of QwtPlotMarker::HLine the alignment is relative to the y position of the marker, but the horizontal flags correspond to the canvas rectangle. In case of QwtPlotMarker::VLine the alignment is relative to the x position of the marker, but the vertical flags correspond to the canvas rectangle.

In all other styles the alignment is relative to the marker's position.

Parameters
alignAlignment.
See also
labelAlignment(), labelOrientation()

Definition at line 452 of file qwt_plot_marker.cpp.

◆ setLabelOrientation()

void QwtPlotMarker::setLabelOrientation ( Qt::Orientation  orientation)

Set the orientation of the label.

When orientation is Qt::Vertical the label is rotated by 90.0 degrees ( from bottom to top ).

Parameters
orientationOrientation of the label
See also
labelOrientation(), setLabelAlignment()

Definition at line 480 of file qwt_plot_marker.cpp.

◆ setLinePen() [1/2]

void QwtPlotMarker::setLinePen ( const QColor &  color,
qreal  width = 0.0,
Qt::PenStyle  style = Qt::SolidLine 
)

Build and assign a line pen

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters
colorPen color
widthPen width
stylePen style
See also
pen(), brush()

Definition at line 541 of file qwt_plot_marker.cpp.

◆ setLinePen() [2/2]

void QwtPlotMarker::setLinePen ( const QPen &  pen)

Specify a pen for the line.

Parameters
penNew pen
See also
linePen()

Definition at line 552 of file qwt_plot_marker.cpp.

◆ setLineStyle()

void QwtPlotMarker::setLineStyle ( LineStyle  style)

Set the line style.

Parameters
styleLine style.
See also
lineStyle()

Definition at line 366 of file qwt_plot_marker.cpp.

◆ setSpacing()

void QwtPlotMarker::setSpacing ( int  spacing)

Set the spacing.

When the label is not centered on the marker position, the spacing is the distance between the position and the label.

Parameters
spacingSpacing
See also
spacing(), setLabelAlignment()

Definition at line 507 of file qwt_plot_marker.cpp.

◆ setSymbol()

void QwtPlotMarker::setSymbol ( const QwtSymbol symbol)

Assign a symbol.

Parameters
symbolNew symbol
See also
symbol()

Definition at line 391 of file qwt_plot_marker.cpp.

◆ spacing()

int QwtPlotMarker::spacing ( ) const
Returns
the spacing
See also
setSpacing()

Definition at line 523 of file qwt_plot_marker.cpp.

◆ symbol()

const QwtSymbol * QwtPlotMarker::symbol ( ) const
Returns
the symbol
See also
setSymbol(), QwtSymbol

Definition at line 410 of file qwt_plot_marker.cpp.