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

# QwtPainter(3)

A collection of QPainter workarounds.

## NAME

QwtPainter - A collection of QPainter workarounds.

## SYNOPSIS

`#include <qwt_painter.h>`

### Static Public Member Functions

static void **setPolylineSplitting** (bool)\
 En/Disable line splitting for the raster paint engine.  static bool **polylineSplitting** ()\
 static void **setRoundingAlignment** (bool)\
 static bool **roundingAlignment** ()\
 static bool **roundingAlignment** (QPainter \*)\
 static void **drawText** (QPainter \*, double x, double y, const QString &)\
 Wrapper for QPainter::drawText()  static void **drawText** (QPainter \*, const QPointF &, const QString &)\
 Wrapper for QPainter::drawText()  static void **drawText** (QPainter \*, double x, double y, double w, double h, int flags, const QString &)\
 Wrapper for QPainter::drawText()  static void **drawText** (QPainter \*, const QRectF &, int flags, const QString &)\
 Wrapper for QPainter::drawText()  static void **drawSimpleRichText** (QPainter \*, const QRectF &, int flags, const QTextDocument &)\
 static void **drawRect** (QPainter \*, double x, double y, double w, double h)\
 Wrapper for QPainter::drawRect()  static void **drawRect** (QPainter \*, const QRectF &rect)\
 Wrapper for QPainter::drawRect()  static void **fillRect** (QPainter \*, const QRectF &, const QBrush &)\
 Wrapper for QPainter::fillRect()  static void **drawEllipse** (QPainter \*, const QRectF &)\
 Wrapper for QPainter::drawEllipse()  static void **drawPie** (QPainter \*, const QRectF &, int a, int alen)\
 Wrapper for QPainter::drawPie()  static void **drawLine** (QPainter \*, double x1, double y1, double x2, double y2)\
 Wrapper for QPainter::drawLine()  static void **drawLine** (QPainter \*, const QPointF &p1, const QPointF &p2)\
 Wrapper for QPainter::drawLine()  static void **drawLine** (QPainter \*, const QLineF &)\
 Wrapper for QPainter::drawLine()  static void **drawPolygon** (QPainter \*, const QPolygonF &)\
 Wrapper for QPainter::drawPolygon()  static void **drawPolyline** (QPainter \*, const QPolygonF &)\
 Wrapper for QPainter::drawPolyline()  static void **drawPolyline** (QPainter \*, const QPointF \*, int pointCount)\
 Wrapper for QPainter::drawPolyline()  static void **drawPolygon** (QPainter \*, const QPolygon &)\
 Wrapper for QPainter::drawPolygon()  static void **drawPolyline** (QPainter \*, const QPolygon &)\
 Wrapper for QPainter::drawPolyline()  static void **drawPolyline** (QPainter \*, const QPoint \*, int pointCount)\
 Wrapper for QPainter::drawPolyline()  static void **drawPoint** (QPainter \*, const QPoint &)\
 Wrapper for QPainter::drawPoint()  static void **drawPoints** (QPainter \*, const QPolygon &)\
 Wrapper for QPainter::drawPoints()  static void **drawPoints** (QPainter \*, const QPoint \*, int pointCount)\
 Wrapper for QPainter::drawPoints()  static void **drawPoint** (QPainter \*, double x, double y)\
 Wrapper for QPainter::drawPoint()  static void **drawPoint** (QPainter \*, const QPointF &)\
 Wrapper for QPainter::drawPoint()  static void **drawPoints** (QPainter \*, const QPolygonF &)\
 Wrapper for QPainter::drawPoints()  static void **drawPoints** (QPainter \*, const QPointF \*, int pointCount)\
 Wrapper for QPainter::drawPoints()  static void **drawPath** (QPainter \*, const QPainterPath &)\
 Wrapper for QPainter::drawPath()  static void **drawImage** (QPainter \*, const QRectF &, const QImage &)\
 Wrapper for QPainter::drawImage()  static void **drawPixmap** (QPainter \*, const QRectF &, const QPixmap &)\
 Wrapper for QPainter::drawPixmap()  static void **drawRoundFrame** (QPainter \*, const QRectF &, const QPalette &, int lineWidth, int frameStyle)\
 static void **drawRoundedFrame** (QPainter \*, const QRectF &, double xRadius, double yRadius, const QPalette &, int lineWidth, int frameStyle)\
 static void **drawFrame** (QPainter \*, const QRectF &rect, const QPalette &palette, QPalette::ColorRole foregroundRole, int frameWidth, int midLineWidth, int frameStyle)\
 static void **drawFocusRect** (QPainter \*, const QWidget \*)\
 Draw a focus rectangle on a widget using its style.  static void **drawFocusRect** (QPainter \*, const QWidget \*, const QRect &)\
 Draw a focus rectangle on a widget using its style.  static void **drawColorBar** (QPainter \*painter, const **QwtColorMap** &, const **QwtInterval** &, const **QwtScaleMap** &, Qt::Orientation, const QRectF &)\
 static bool **isAligning** (QPainter \*painter)\
 static bool **isX11GraphicsSystem** ()\
 static void **fillPixmap** (const QWidget \*, QPixmap &, const QPoint &offset=QPoint())\
 static void **drawBackgound** (QPainter \*painter, const QRectF &rect, const QWidget \*widget)\
 static QPixmap **backingStore** (QWidget \*, const QSize &)\

## Detailed Description

A collection of QPainter workarounds.

## Member Function Documentation

### QPixmap QwtPainter::backingStore (QWidget \* widget, const QSize & size)` [static]`

**Returns:**

A pixmap that can be used as backing store

**Parameters:**

*widget* Widget, for which the backingstore is intended \
 *size* Size of the pixmap

### void QwtPainter::drawBackgound (QPainter \* painter, const QRectF & rect, const QWidget \* widget)` [static]`

Fill rect with the background of a widget

**Parameters:**

*painter* Painter \
 *rect* Rectangle to be filled \
 *widget* Widget

**See also:**

QStyle::PE\_Widget, QWidget::backgroundRole()

### void QwtPainter::drawColorBar (QPainter \* painter, const QwtColorMap & colorMap, const QwtInterval & interval, const QwtScaleMap & scaleMap, Qt::Orientation orientation, const QRectF & rect)` [static]`

Draw a color bar into a rectangle

**Parameters:**

*painter* Painter \
 *colorMap* Color map \
 *interval* Value range \
 *scaleMap* Scale map \
 *orientation* Orientation \
 *rect* Traget rectangle

### void QwtPainter::drawFrame (QPainter \* painter, const QRectF & rect, const QPalette & palette, QPalette::ColorRole foregroundRole, int frameWidth, int midLineWidth, int frameStyle)` [static]`

Draw a rectangular frame

**Parameters:**

*painter* Painter \
 *rect* Frame rectangle \
 *palette* Palette \
 *foregroundRole* Foreground role used for QFrame::Plain \
 *frameWidth* Frame width \
 *midLineWidth* Used for QFrame::Box \
 *frameStyle* bitwise OR´ed value of QFrame::Shape and QFrame::Shadow

### void QwtPainter::drawRoundedFrame (QPainter \* painter, const QRectF & rect, double xRadius, double yRadius, const QPalette & palette, int lineWidth, int frameStyle)` [static]`

Draw a rectangular frame with rounded borders

**Parameters:**

*painter* Painter \
 *rect* Frame rectangle \
 *xRadius* x-radius of the ellipses defining the corners \
 *yRadius* y-radius of the ellipses defining the corners \
 *palette* QPalette::WindowText is used for plain borders QPalette::Dark and QPalette::Light for raised or sunken borders \
 *lineWidth* Line width \
 *frameStyle* bitwise OR´ed value of QFrame::Shape and QFrame::Shadow

### void QwtPainter::drawRoundFrame (QPainter \* painter, const QRectF & rect, const QPalette & palette, int lineWidth, int frameStyle)` [static]`

Draw a round frame

**Parameters:**

*painter* Painter \
 *rect* Frame rectangle \
 *palette* QPalette::WindowText is used for plain borders QPalette::Dark and QPalette::Light for raised or sunken borders \
 *lineWidth* Line width \
 *frameStyle* bitwise OR´ed value of QFrame::Shape and QFrame::Shadow

### void QwtPainter::drawSimpleRichText (QPainter \* painter, const QRectF & rect, int flags, const QTextDocument & text)` [static]`

Draw a text document into a rectangle

**Parameters:**

*painter* Painter \
 *rect* Traget rectangle \
 *flags* Alignments/Text flags, see QPainter::drawText() \
 *text* Text document

### void QwtPainter::fillPixmap (const QWidget \* widget, QPixmap & pixmap, const QPoint & offset = `QPoint()`)` [static]`

Fill a pixmap with the content of a widget

In Qt \>= 5.0 QPixmap::fill() is a nop, in Qt 4.x it is buggy for backgrounds with gradients. Thus **fillPixmap()** offers an alternative implementation.

**Parameters:**

*widget* Widget \
 *pixmap* Pixmap to be filled \
 *offset* Offset

**See also:**

QPixmap::fill()

### bool QwtPainter::isAligning (QPainter \* painter)` [static]`

Check if the painter is using a paint engine, that aligns coordinates to integers. Today these are all paint engines beside QPaintEngine::Pdf and QPaintEngine::SVG.

If we have an integer based paint engine it is also checked if the painter has a transformation matrix, that rotates or scales.

**Parameters:**

*painter* Painter

**Returns:**

true, when the painter is aligning

**See also:**

**setRoundingAlignment()**

### bool QwtPainter::isX11GraphicsSystem ()` [static]`

Check is the application is running with the X11 graphics system that has some special capabilities that can be used for incremental painting to a widget.

**Returns:**

True, when the graphics system is X11

### bool QwtPainter::polylineSplitting ()` [inline]`, ` [static]`

**Returns:**

True, when line splitting for the raster paint engine is enabled.

**See also:**

**setPolylineSplitting()**

### bool QwtPainter::roundingAlignment ()` [inline]`, ` [static]`

Check whether coordinates should be rounded, before they are painted to a paint engine that rounds to integer values. For other paint engines ( PDF, SVG ), this flag has no effect.

**Returns:**

True, when rounding is enabled

**See also:**

**setRoundingAlignment()**, **isAligning()**

### bool QwtPainter::roundingAlignment (QPainter \* painter)` [inline]`, ` [static]`

**Returns:**

**roundingAlignment()** && isAligning(painter);

**Parameters:**

*painter* Painter

### void QwtPainter::setPolylineSplitting (bool enable)` [static]`

En/Disable line splitting for the raster paint engine. In some Qt versions the raster paint engine paints polylines of many points much faster when they are split in smaller chunks: f.e all supported Qt versions \>= Qt 5.0 when drawing an antialiased polyline with a pen width \>=2.

Also the raster paint engine has a nasty bug in many versions ( Qt 4.8 - ... ) for short lines ( https://codereview.qt-project.org/#/c/99456 ), that is worked around in this mode.

The default setting is true.

**See also:**

**polylineSplitting()**

### void QwtPainter::setRoundingAlignment (bool enable)` [static]`

Enable whether coordinates should be rounded, before they are painted to a paint engine that floors to integer values. For other paint engines ( PDF, SVG ) this flag has no effect. **QwtPainter** stores this flag only, the rounding itself is done in the painting code ( f.e the plot items ).

The default setting is true.

**See also:**

**roundingAlignment()**, **isAligning()**

## Author

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