On this page

QCanvasRadialGradient Class

QCanvasRadialGradient is a brush for radial gradient painting. More...

Header: #include <QCanvasRadialGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Since: Qt 6.11
Inherits: QCanvasGradient
Status: Technology preview

This class is in technology preview and is subject to change.

Public Functions

QCanvasRadialGradient()
QCanvasRadialGradient(QPointF center, float outerRadius, float innerRadius = 0.0f)
(since 6.12) QCanvasRadialGradient(QPointF innerCenter, float innerRadius, QPointF outerCenter, float outerRadius)
QCanvasRadialGradient(float centerX, float centerY, float outerRadius, float innerRadius = 0.0f)
(since 6.12) QCanvasRadialGradient(float innerCenterX, float innerCenterY, float innerRadius, float outerCenterX, float outerCenterY, float outerRadius)
QPointF centerPosition() const
(since 6.12) QPointF innerCenterPosition() const
float innerRadius() const
(since 6.12) QPointF outerCenterPosition() const
float outerRadius() const
void setCenterPosition(float x, float y)
void setCenterPosition(QPointF center)
(since 6.12) void setInnerCenterPosition(float x, float y)
(since 6.12) void setInnerCenterPosition(QPointF center)
void setInnerRadius(float radius)
(since 6.12) void setOuterCenterPosition(float x, float y)
(since 6.12) void setOuterCenterPosition(QPointF center)
void setOuterRadius(float radius)

Detailed Description

Radial gradient interpolate colors between start and end points, creating a circle shaped gradient. The gradient is controlled with centerPosition(), outerRadius() and innerRadius().

Here is a simple example:

QRectF rect1(0, 0, 200, 200);
QCanvasRadialGradient rg(rect1.center(), 100, 0);
rg.setColorAt(0.0, "#fdbb2d");
rg.setColorAt(0.6, "#b21f1f");
rg.setColorAt(1.0, "#1a2a6c");
p->setFillStyle(rg);
p->fillRect(rect1);

Member Function Documentation

QCanvasRadialGradient::QCanvasRadialGradient()

Constructs a default radial gradient. Gradient center position is (0, 0). Gradient outer radius is 100.0 and inner radius is 0.0. Gradient start color is white (255, 255, 255) and end color transparent black (0, 0, 0, 0).

QCanvasRadialGradient::QCanvasRadialGradient(QPointF center, float outerRadius, float innerRadius = 0.0f)

Constructs a radial gradient. Gradient center position is center. Gradient outer radius is outerRadius and inner radius is innerRadius. Gradient start color is white (255,255,255) and end color transparent black (0, 0, 0, 0).

[since 6.12] QCanvasRadialGradient::QCanvasRadialGradient(QPointF innerCenter, float innerRadius, QPointF outerCenter, float outerRadius)

Constructs a radial gradient. Gradient inner center position is innerCenter. Gradient outer center position is outerCenter. Gradient outer radius is outerRadius and inner radius is innerRadius. Gradient start color is white (255, 255, 255) and end color transparent black (0, 0, 0, 0).

This function was introduced in Qt 6.12.

QCanvasRadialGradient::QCanvasRadialGradient(float centerX, float centerY, float outerRadius, float innerRadius = 0.0f)

Constructs a radial gradient. Gradient center position is ( centerX, centerY). Gradient outer radius is outerRadius and inner radius is innerRadius. Gradient start color is white (255, 255, 255) and end color transparent black (0, 0, 0, 0).

[since 6.12] QCanvasRadialGradient::QCanvasRadialGradient(float innerCenterX, float innerCenterY, float innerRadius, float outerCenterX, float outerCenterY, float outerRadius)

Constructs a radial gradient. Gradient inner center position is (innerCenterX, innerCenterY). Gradient outer center position is ( outerCenterX, outerCenterY). Gradient outer radius is outerRadius and inner radius is innerRadius. Gradient start color is white (255, 255, 255) and end color transparent black (0, 0, 0, 0).

This function was introduced in Qt 6.12.

QPointF QCanvasRadialGradient::centerPosition() const

Returns the center point of radial gradient. This is the same as outerCenterPosition().

See also setCenterPosition().

[since 6.12] QPointF QCanvasRadialGradient::innerCenterPosition() const

Returns the inner center point of radial gradient.

This function was introduced in Qt 6.12.

See also setInnerCenterPosition().

float QCanvasRadialGradient::innerRadius() const

Returns the inner radius of radial gradient.

See also setInnerRadius().

[since 6.12] QPointF QCanvasRadialGradient::outerCenterPosition() const

Returns the outer center point of radial gradient.

This function was introduced in Qt 6.12.

See also setOuterCenterPosition().

float QCanvasRadialGradient::outerRadius() const

Returns the outer radius of radial gradient.

See also setOuterRadius().

void QCanvasRadialGradient::setCenterPosition(float x, float y)

Sets the both center points of radial gradient to ( x, y). So after calling this, the gradient is symmetric (inner and outer positions are the same).

See also centerPosition().

void QCanvasRadialGradient::setCenterPosition(QPointF center)

Sets the both center points of radial gradient to center. So after calling this, the gradient is symmetric (inner and outer positions are the same).

This is an overloaded function.

[since 6.12] void QCanvasRadialGradient::setInnerCenterPosition(float x, float y)

Sets the inner center point of radial gradient to ( x, y).

This function was introduced in Qt 6.12.

See also innerCenterPosition().

[since 6.12] void QCanvasRadialGradient::setInnerCenterPosition(QPointF center)

Sets the inner center point of radial gradient to center.

This is an overloaded function.

This function was introduced in Qt 6.12.

void QCanvasRadialGradient::setInnerRadius(float radius)

Sets the inner radius of radial gradient to radius. Start color will be drawn at this radius from inner center position. The default inner radius is 0.0 meaning that gradient starts directly from inner center position.

See also innerRadius().

[since 6.12] void QCanvasRadialGradient::setOuterCenterPosition(float x, float y)

Sets the outer center point of radial gradient to ( x, y).

This function was introduced in Qt 6.12.

See also outerCenterPosition().

[since 6.12] void QCanvasRadialGradient::setOuterCenterPosition(QPointF center)

Sets the outer center point of radial gradient to center.

This is an overloaded function.

This function was introduced in Qt 6.12.

void QCanvasRadialGradient::setOuterRadius(float radius)

Sets the outer radius of radial gradient to radius. End color will be drawn at this radius from outer center position.

See also outerRadius().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.