Qwt User's Guide  6.1.3
QwtPlotTextLabel Class Reference

A plot item, which displays a text label. More...

#include <qwt_plot_textlabel.h>

Inheritance diagram for QwtPlotTextLabel:

Public Member Functions

 QwtPlotTextLabel ()
 Constructor. More...
virtual ~QwtPlotTextLabel ()
virtual int rtti () const
void setText (const QwtText &)
QwtText text () const
void setMargin (int margin)
int margin () const
virtual QRectF textRect (const QRectF &, const QSizeF &) const
 Align the text label. More...
- Public Member Functions inherited from QwtPlotItem
 QwtPlotItem (const QwtText &title=QwtText())
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 (int xAxis, int yAxis)
void setXAxis (int axis)
int xAxis () const
 Return xAxis.
void setYAxis (int axis)
int yAxis () const
 Return yAxis.
virtual void itemChanged ()
virtual void legendChanged ()
virtual QRectF boundingRect () const
virtual void getCanvasMarginHint (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasSize, 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...
virtual QwtGraphic legendIcon (int index, const QSizeF &) const

Protected Member Functions

virtual void draw (QPainter *, const QwtScaleMap &, const QwtScaleMap &, const QRectF &) const
void invalidateCache ()
 Invalidate all internal cache.
- Protected Member Functions inherited from QwtPlotItem
QwtGraphic defaultIcon (const QBrush &, const QSizeF &) const
 Return a default icon from a brush. More...

Additional Inherited Members

- 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_PlotSVG, Rtti_PlotTradingCurve,
  Rtti_PlotBarChart, Rtti_PlotMultiBarChart, Rtti_PlotShape, Rtti_PlotTextLabel,
  Rtti_PlotZone, 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
 Plot Item Attributes.
typedef QFlags< ItemInterestItemInterests
 Plot Item Interests.
typedef QFlags< RenderHintRenderHints
 Render hints.

Detailed Description

A plot item, which displays a text label.

QwtPlotTextLabel displays a text label aligned to the plot canvas.

In opposite to QwtPlotMarker the position of the label is unrelated to plot coordinates.

As drawing a text is an expensive operation the label is cached in a pixmap to speed up replots.

The following code shows how to add a title.
    QwtText title( "Plot Title" );
    title.setRenderFlags( Qt::AlignHCenter | Qt::AlignTop );

    QFont font;
    font.setBold( true );
    title.setFont( font );

    QwtPlotTextLabel *titleItem = new QwtPlotTextLabel();
    titleItem->setText( title );
    titleItem->attach( this );
See also

Constructor & Destructor Documentation

QwtPlotTextLabel::QwtPlotTextLabel ( )


Initializes an text label with an empty text

Sets the following item attributes:

The z value is initialized by 150

See also
QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()

Member Function Documentation

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

Draw the text label

xMapx Scale Map
yMapy Scale Map
canvasRectContents rectangle of the canvas in painter coordinates
See also

Implements QwtPlotItem.

int QwtPlotTextLabel::margin ( ) const
Margin added to the contentsMargins() of the canvas
See also
int QwtPlotTextLabel::rtti ( ) const

Reimplemented from QwtPlotItem.

void QwtPlotTextLabel::setMargin ( int  margin)

Set the margin

The margin is the distance between the contentsRect() of the plot canvas and the rectangle where the label can be displayed.

See also
margin(), textRect()
void QwtPlotTextLabel::setText ( const QwtText text)

Set the text

The label will be aligned to the plot canvas according to the alignment flags of text.

textText to be displayed
See also
text(), QwtText::renderFlags()
QwtText QwtPlotTextLabel::text ( ) const
Text to be displayed
See also
QRectF QwtPlotTextLabel::textRect ( const QRectF &  rect,
const QSizeF &  textSize 
) const

Align the text label.

rectCanvas rectangle with margins subtracted
textSizeSize required to draw the text
A rectangle aligned according the the alignment flags of the text.
See also
setMargin(), QwtText::renderFlags(), QwtText::textSize()