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

# QwtPlotShapeItem(3)

A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

## NAME

QwtPlotShapeItem - A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

## SYNOPSIS

`#include <qwt_plot_shapeitem.h>`

Inherits **QwtPlotItem**.

### Public Types

enum **PaintAttribute** { **ClipPolygons** = 0x01 }\
 enum **LegendMode** { **LegendShape**, **LegendColor** }\
 Mode how to display the item on the legend.  typedef QFlags\< **PaintAttribute** \> **PaintAttributes**\
 Paint attributes.

### Public Member Functions

**QwtPlotShapeItem** (const QString &**title**=QString())\
 Constructor.  **QwtPlotShapeItem** (const **QwtText** &**title**)\
 Constructor.  virtual **~QwtPlotShapeItem** ()\
 Destructor.  void **setPaintAttribute** (**PaintAttribute**, bool on=true)\
 bool **testPaintAttribute** (**PaintAttribute**) const\
 void **setLegendMode** (**LegendMode**)\
 **LegendMode** **legendMode** () const\
 void **setRect** (const QRectF &)\
 Set a path built from a rectangle.  void **setPolygon** (const QPolygonF &)\
 Set a path built from a polygon.  void **setShape** (const QPainterPath &)\
 Set the shape to be displayed.  QPainterPath **shape** () const\
 void **setPen** (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)\
 void **setPen** (const QPen &)\
 Assign a pen.  QPen **pen** () const\
 void **setBrush** (const QBrush &)\
 QBrush **brush** () const\
 void **setRenderTolerance** (double)\
 Set the tolerance for the weeding optimization.  double **renderTolerance** () const\
 virtual QRectF **boundingRect** () const\
 Bounding rectangle of the shape.  virtual void **draw** (QPainter \*, const **QwtScaleMap** &xMap, const **QwtScaleMap** &yMap, const QRectF &canvasRect) const\
 virtual **QwtGraphic** **legendIcon** (int index, const QSizeF &) const\
 virtual int **rtti** () const\

### Additional Inherited Members

## Detailed Description

A plot item, which displays any graphical shape, that can be defined by a QPainterPath.

A QPainterPath is a shape composed from intersecting and uniting regions, rectangles, ellipses or irregular areas defined by lines, and curves. **QwtPlotShapeItem** displays a shape with a pen and brush.

**QwtPlotShapeItem** offers a couple of optimizations like clipping or weeding. These algorithms need to convert the painter path into polygons that might be less performant for paths built from curves and ellipses.

**See also:**

QwtPlotZone

## Member Enumeration Documentation

### enum QwtPlotShapeItem::LegendMode

Mode how to display the item on the legend.

**Enumerator**

- *LegendShape*

  *Display a scaled down version of the shape.*

- *LegendColor*

  *Display a filled rectangle.*

### enum QwtPlotShapeItem::PaintAttribute

*Attributes to modify the drawing algorithm. The default disables all attributes*

**See also:**

**setPaintAttribute()***,* **testPaintAttribute()**

**Enumerator**

- *ClipPolygons*

  *Clip polygons before painting them. In situations, where points are far outside the visible area (f.e when zooming deep) this might be a substantial improvement for the painting performance*

*But polygon clipping will convert the painter path into polygons what might introduce a negative impact on the performance of paths composed from curves or ellipses.*

## Constructor & Destructor Documentation

### QwtPlotShapeItem::QwtPlotShapeItem (const QString & title = `QString()`)` [explicit]`

*Constructor. Sets the following item attributes:*

- •

  **QwtPlotItem::AutoScale***: true*

- •

  **QwtPlotItem::Legend***: false*

**Parameters:**

*title Title*

### QwtPlotShapeItem::QwtPlotShapeItem (const QwtText & title)` [explicit]`

*Constructor. Sets the following item attributes:*

- •

  **QwtPlotItem::AutoScale***: true*

- •

  **QwtPlotItem::Legend***: false*

**Parameters:**

*title Title*

## Member Function Documentation

### QBrush QwtPlotShapeItem::brush () const

**Returns:**

*Brush used to fill the shape*

**See also:**

**setBrush()***,* **pen()**

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

*Draw the shape item*

**Parameters:**

*painter Painter* \
 *xMap X-Scale Map* \
 *yMap Y-Scale Map* \
 *canvasRect Contents rect of the plot canvas*

*Implements* **QwtPlotItem***.*

### QwtGraphic QwtPlotShapeItem::legendIcon (int index, const QSizeF & size) const` [virtual]`

**Returns:**

*A rectangle filled with the color of the brush ( or the pen )*

**Parameters:**

*index Index of the legend entry ( usually there is only one )* \
 *size Icon size*

**See also:**

**setLegendIconSize()***,* **legendData()**

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

### QwtPlotShapeItem::LegendMode QwtPlotShapeItem::legendMode () const

**Returns:**

*Mode how to represent the item on the legend*

**See also:**

**legendMode()**

### QPen QwtPlotShapeItem::pen () const

**Returns:**

*Pen used to draw the outline of the shape*

**See also:**

**setPen()***,* **brush()**

### double QwtPlotShapeItem::renderTolerance () const

**Returns:**

*Tolerance for the weeding optimization*

**See also:**

**setRenderTolerance()**

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

**Returns:**

**QwtPlotItem::Rtti\_PlotShape**

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

### void QwtPlotShapeItem::setBrush (const QBrush & brush)

*Assign a brush.*

*The brush is used to fill the path*

**Parameters:**

*brush Brush*

**See also:**

**brush()***,* **pen()**

### void QwtPlotShapeItem::setLegendMode (LegendMode mode)

*Set the mode how to represent the item on the legend*

**Parameters:**

*mode Mode*

**See also:**

**legendMode()**

### void QwtPlotShapeItem::setPaintAttribute (PaintAttribute attribute, bool on = `true`)

*Specify an attribute how to draw the shape*

**Parameters:**

*attribute Paint attribute* \
 *on On/Off*

**See also:**

**testPaintAttribute()**

### void QwtPlotShapeItem::setPen (const QColor & color, qreal width = `0.0`, Qt::PenStyle style = `Qt::SolidLine`)

*Build and assign a 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:**

*color Pen color* \
 *width Pen width* \
 *style Pen style*

**See also:**

**pen()***,* **brush()**

### void QwtPlotShapeItem::setPen (const QPen & pen)

*Assign a pen. The pen is used to draw the outline of the shape*

**Parameters:**

*pen Pen*

**See also:**

**pen()***,* **brush()**

### void QwtPlotShapeItem::setPolygon (const QPolygonF & polygon)

*Set a path built from a polygon.*

**Parameters:**

*polygon Polygon*

**See also:**

**setShape()***,* **setRect()***,* **shape()**

### void QwtPlotShapeItem::setRect (const QRectF & rect)

*Set a path built from a rectangle.*

**Parameters:**

*rect Rectangle*

**See also:**

**setShape()***,* **setPolygon()***,* **shape()**

### void QwtPlotShapeItem::setRenderTolerance (double tolerance)

*Set the tolerance for the weeding optimization. After translating the shape into target device coordinate ( usually widget geometries ) the painter path can be simplified by a point weeding algorithm ( Douglas-Peucker ).*

*For shapes built from curves and ellipses weeding might have the opposite effect because they have to be expanded to polygons.*

**Parameters:**

*tolerance Accepted error when reducing the number of points A value \<= 0.0 disables weeding.*

**See also:**

**renderTolerance()***,* **QwtWeedingCurveFitter**

### void QwtPlotShapeItem::setShape (const QPainterPath & shape)

*Set the shape to be displayed.*

**Parameters:**

*shape Shape*

**See also:**

**setShape()***,* **shape()**

### QPainterPath QwtPlotShapeItem::shape () const

**Returns:**

*Shape to be displayed*

**See also:**

**setShape()**

### bool QwtPlotShapeItem::testPaintAttribute (PaintAttribute attribute) const

**Returns:**

*True, when attribute is enabled*

**See also:**

**setPaintAttribute()**

## Author

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