---
name: "QwtPlotLegendItem"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtPlotLegendItem"
---

# QwtPlotLegendItem(3)

A class which draws a legend inside the plot canvas.

## NAME

QwtPlotLegendItem - A class which draws a legend inside the plot canvas.

## SYNOPSIS

`#include <qwt_plot_legenditem.h>`

Inherits **QwtPlotItem**.

### Public Types

enum **BackgroundMode** { **LegendBackground**, **ItemBackground** }\
 Background mode.

### Public Member Functions

**QwtPlotLegendItem** ()\
 Constructor.  virtual **~QwtPlotLegendItem** ()\
 Destructor.  virtual int **rtti** () const\
 void **setAlignment** (Qt::Alignment)\
 Set the alignmnet.  Qt::Alignment **alignment** () const\
 void **setMaxColumns** (uint)\
 Limit the number of columns.  uint **maxColumns** () const\
 void **setMargin** (int)\
 Set the margin around legend items.  int **margin** () const\
 void **setSpacing** (int)\
 Set the spacing between the legend items.  int **spacing** () const\
 void **setItemMargin** (int)\
 int **itemMargin** () const\
 void **setItemSpacing** (int)\
 int **itemSpacing** () const\
 void **setFont** (const QFont &)\
 QFont **font** () const\
 void **setBorderDistance** (int)\
 Set the margin between the legend and the canvas border.  int **borderDistance** () const\
 void **setBorderRadius** (double)\
 double **borderRadius** () const\
 void **setBorderPen** (const QPen &)\
 QPen **borderPen** () const\
 void **setBackgroundBrush** (const QBrush &)\
 Set the background brush.  QBrush **backgroundBrush** () const\
 void **setBackgroundMode** (**BackgroundMode**)\
 Set the background mode.  **BackgroundMode** **backgroundMode** () const\
 void **setTextPen** (const QPen &)\
 Set the pen for drawing text labels.  QPen **textPen** () const\
 virtual void **draw** (QPainter \*, const **QwtScaleMap** &xMap, const **QwtScaleMap** &yMap, const QRectF &canvasRect) const\
 void **clearLegend** ()\
 Remove all items from the legend.  virtual void **updateLegend** (const **QwtPlotItem** \*, const QList\< **QwtLegendData** \> &)\
 virtual QRect **geometry** (const QRectF &canvasRect) const\
 virtual QSize **minimumSize** (const **QwtLegendData** &) const\
 virtual int **heightForWidth** (const **QwtLegendData** &, int width) const\
 QList\< const **QwtPlotItem** \*\> **plotItems** () const\
 QList\< QRect \> **legendGeometries** (const **QwtPlotItem** \*) const\

### Protected Member Functions

virtual void **drawLegendData** (QPainter \*painter, const **QwtPlotItem** \*, const **QwtLegendData** &, const QRectF &) const\
 virtual void **drawBackground** (QPainter \*, const QRectF &rect) const\

## Detailed Description

A class which draws a legend inside the plot canvas.

**QwtPlotLegendItem** can be used to draw a inside the plot canvas. It can be used together with a **QwtLegend** or instead of it to have more space for the plot canvas.

In opposite to **QwtLegend** the legend item is not interactive. To identify mouse clicks on a legend item an event filter needs to be installed catching mouse events ob the plot canvas. The geometries of the legend items are available using **legendGeometries()**.

The legend item is aligned to plot canvas according to its **alignment()** flags. It might have a background for the complete legend ( usually semi transparent ) or for each legend item.

**Note:**

An external **QwtLegend** with a transparent background on top the plot canvas might be another option with a similar effect.

## Member Enumeration Documentation

### enum QwtPlotLegendItem::BackgroundMode

Background mode. Depending on the mode the complete legend or each item might have an background.

The default setting is LegendBackground.

**See also:**

**setBackgroundMode()**, **setBackgroundBrush()**, **drawBackground()**

**Enumerator**

- *LegendBackground*

  *The legend has a background.*

- *ItemBackground*

  *Each item has a background.*

## Member Function Documentation

### Qt::Alignment QwtPlotLegendItem::alignment () const

**Returns:**

*Alignment flags*

**See also:**

**setAlignment()**

### QBrush QwtPlotLegendItem::backgroundBrush () const

**Returns:**

*Brush is used to fill the background*

**See also:**

**setBackgroundBrush()***,* **backgroundMode()***,* **drawBackground()**

### QwtPlotLegendItem::BackgroundMode QwtPlotLegendItem::backgroundMode () const

**Returns:**

*backgroundMode*

**See also:**

**setBackgroundMode()***,* **backgroundBrush()***,* **drawBackground()**

### int QwtPlotLegendItem::borderDistance () const

**Returns:**

*Margin between the legend and the canvas border*

**See also:**

**margin()**

### QPen QwtPlotLegendItem::borderPen () const

**Returns:**

*Pen for drawing the border*

**See also:**

**setBorderPen()***,* **backgroundBrush()**

### double QwtPlotLegendItem::borderRadius () const

**Returns:**

*Radius of the border*

**See also:**

**setBorderRadius()***,* **setBorderPen()**

### void QwtPlotLegendItem::draw (QPainter \* painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect) const` [virtual]`

*Draw the legend*

**Parameters:**

*painter Painter* \
 *xMap x Scale Map* \
 *yMap y Scale Map* \
 *canvasRect Contents rectangle of the canvas in painter coordinates*

*Implements* **QwtPlotItem***.*

### void QwtPlotLegendItem::drawBackground (QPainter \* painter, const QRectF & rect) const` [protected]`, ` [virtual]`

*Draw a rounded rect*

**Parameters:**

*painter Painter* \
 *rect Bounding rectangle*

**See also:**

**setBorderRadius()***,* **setBorderPen()***,* **setBackgroundBrush()***,* **setBackgroundMode()**

### void QwtPlotLegendItem::drawLegendData (QPainter \* painter, const QwtPlotItem \* plotItem, const QwtLegendData & data, const QRectF & rect) const` [protected]`, ` [virtual]`

*Draw an entry on the legend*

**Parameters:**

*painter Qt Painter* \
 *plotItem Plot item, represented by the entry* \
 *data Attributes of the legend entry* \
 *rect Bounding rectangle for the entry*

### QFont QwtPlotLegendItem::font () const

**Returns:**

*Font used for drawing the text label*

**See also:**

**setFont()**

### QRect QwtPlotLegendItem::geometry (const QRectF & canvasRect) const` [virtual]`

*Calculate the geometry of the legend on the canvas*

**Parameters:**

*canvasRect Geometry of the canvas*

**Returns:**

*Geometry of the legend*

### int QwtPlotLegendItem::heightForWidth (const QwtLegendData & data, int width) const` [virtual]`

**Returns:**

*The preferred height, for a width.*

**Parameters:**

*data Attributes of the legend entry* \
 *width Width*

### int QwtPlotLegendItem::itemMargin () const

**Returns:**

*Margin around each item*

**See also:**

**setItemMargin()***,* **itemSpacing()***,* **margin()***,* **spacing()**

### int QwtPlotLegendItem::itemSpacing () const

**Returns:**

*Spacing inside of each item*

**See also:**

**setItemSpacing()***,* **itemMargin()***,* **margin()***,* **spacing()**

### QList\< QRect \> QwtPlotLegendItem::legendGeometries (const QwtPlotItem \* plotItem) const

**Returns:**

*Geometries of the items of a plot item*

**Note:**

*Usually a plot item has only one entry on the legend*

### int QwtPlotLegendItem::margin () const

**Returns:**

*Margin around the legend items*

**See also:**

**setMargin()***,* **spacing()***,* **itemMargin()***,* **itemSpacing()**

### uint QwtPlotLegendItem::maxColumns () const

**Returns:**

*Maximum number of columns*

**See also:**

**maxColumns()***,* **QwtDynGridLayout::maxColumns()**

### QSize QwtPlotLegendItem::minimumSize (const QwtLegendData & data) const` [virtual]`

*Minimum size hint needed to display an entry*

**Parameters:**

*data Attributes of the legend entry*

**Returns:**

*Minimum size*

### QList\< const QwtPlotItem \*\> QwtPlotLegendItem::plotItems () const

**Returns:**

*All plot items with an entry on the legend*

**Note:**

*A plot item might have more than one entry on the legend*

### int QwtPlotLegendItem::rtti () const` [virtual]`

**Returns:**

**QwtPlotItem::Rtti\_PlotLegend**

*Reimplemented from* **QwtPlotItem***.*

### void QwtPlotLegendItem::setAlignment (Qt::Alignment alignment)

*Set the alignmnet. Alignment means the position of the legend relative to the geometry of the plot canvas.*

**Parameters:**

*alignment Alignment flags*

**See also:**

**alignment()***,* **setMaxColumns()**

**Note:**

*To align a legend with many items horizontally the number of columns need to be limited*

### void QwtPlotLegendItem::setBackgroundBrush (const QBrush & brush)

*Set the background brush. The brush is used to fill the background*

**Parameters:**

*brush Brush*

**See also:**

**backgroundBrush()***,* **setBackgroundMode()***,* **drawBackground()**

### void QwtPlotLegendItem::setBackgroundMode (BackgroundMode mode)

*Set the background mode. Depending on the mode the complete legend or each item might have an background.*

*The default setting is LegendBackground.*

**See also:**

**backgroundMode()***,* **setBackgroundBrush()***,* **drawBackground()**

### void QwtPlotLegendItem::setBorderDistance (int distance)

*Set the margin between the legend and the canvas border. The default setting for the margin is 10 pixels.*

**Parameters:**

*distance Margin in pixels*

**See also:**

**setMargin()**

### void QwtPlotLegendItem::setBorderPen (const QPen & pen)

*Set the pen for drawing the border*

**Parameters:**

*pen Border pen*

**See also:**

**borderPen()***,* **setBackgroundBrush()**

### void QwtPlotLegendItem::setBorderRadius (double radius)

*Set the radius for the border*

**Parameters:**

*radius A value \<= 0 defines a rectangular border*

**See also:**

**borderRadius()***,* **setBorderPen()**

### void QwtPlotLegendItem::setFont (const QFont & font)

*Change the font used for drawing the text label*

**Parameters:**

*font Legend font*

**See also:**

**font()**

### void QwtPlotLegendItem::setItemMargin (int margin)

*Set the margin around each item*

**Parameters:**

*margin Margin*

**See also:**

**itemMargin()***,* **setItemSpacing()***,* **setMargin()***,* **setSpacing()**

### void QwtPlotLegendItem::setItemSpacing (int spacing)

*Set the spacing inside of each item*

**Parameters:**

*spacing Spacing*

**See also:**

**itemSpacing()***,* **setItemMargin()***,* **setMargin()***,* **setSpacing()**

### void QwtPlotLegendItem::setMargin (int margin)

*Set the margin around legend items. The default setting for the margin is 0.*

**Parameters:**

*margin Margin in pixels*

**See also:**

**margin()***,* **setSpacing()***,* **setItemMargin()***,* **setItemSpacing**

### void QwtPlotLegendItem::setMaxColumns (uint maxColumns)

*Limit the number of columns. When aligning the legend horizontally ( Qt::AlignLeft, Qt::AlignRight ) the number of columns needs to be limited to avoid, that the width of the legend grows with an increasing number of entries.*

**Parameters:**

*maxColumns Maximum number of columns. 0 means unlimited.*

**See also:**

**maxColumns()***,* **QwtDynGridLayout::setMaxColumns()**

### void QwtPlotLegendItem::setSpacing (int spacing)

*Set the spacing between the legend items.*

**Parameters:**

*spacing Spacing in pixels*

**See also:**

**spacing()***,* **setMargin()**

### void QwtPlotLegendItem::setTextPen (const QPen & pen)

*Set the pen for drawing text labels.*

**Parameters:**

*pen Text pen*

**See also:**

**textPen()***,* **setFont()**

### int QwtPlotLegendItem::spacing () const

**Returns:**

*Spacing between the legend items*

**See also:**

**setSpacing()***,* **margin()***,* **itemSpacing()***,* **itemMargin()**

### QPen QwtPlotLegendItem::textPen () const

**Returns:**

*Pen for drawing text labels*

**See also:**

**setTextPen()***,* **font()**

### void QwtPlotLegendItem::updateLegend (const QwtPlotItem \* plotItem, const QList\< QwtLegendData \> & data)` [virtual]`

*Update the legend items according to modifications of a plot item*

**Parameters:**

*plotItem Plot item* \
 *data Attributes of the legend entries*

*Reimplemented from* **QwtPlotItem***.*

## Author

*Generated automatically by Doxygen for Qwt User's Guide from the source code.*
