|  | Home · All Classes · Main Classes · Annotated · Grouped Classes · Functions |

# QGradient Class Reference

The QGradient class is used in combination with QBrush to specify gradient fills. More...

    #include <QGradient>

Part of the QtGui module.

Inherited by QConicalGradient, QLinearGradient, and QRadialGradient.

- List of all members, including inherited members

### Public Types

- enum Spread { PadSpread, RepeatSpread, ReflectSpread }
- enum Type { LinearGradient, RadialGradient, ConicalGradient }

### Public Functions

- void appendStop ( const QGradientStop & stop )
- void appendStop ( qreal pos, const QColor & color )
- void setSpread ( Spread spread )
- void setStops ( const QGradientStops & stops )
- Spread spread () const
- QGradientStops stops () const
- Type type () const

## Detailed Description

The QGradient class is used in combination with QBrush to specify gradient fills.

Qt currently supports three types of gradient fills: linear, radial and conical. Each of these is represented by a subclass of QGradient: QLinearGradient, QRadialGradient and QConicalGradient.

The colors in a gradient is defined using stop points, which is a position and a color. The set of stop points describes how the gradient area should be filled. A diagonal linear gradient from black at (100, 100) to white at (200, 200) could be specified like this:

        QLinearGradient grad(QPointF(100, 100), QPointF(200, 200));
        grad.appendStop(0, Qt::black);
        grad.appendStop(1, Qt::white);

A gradient can have an arbitrary number of stop points. The following gradient would create a radial gradient starting with red in the center, blue and then green on the edges:

        QRadialGradient grad(QPointF(100, 100), 100);
        grad.appendStop(0, Qt::red);
        grad.appendStop(0.5, Qt::blue);
        grad.appendStop(1, Qt::green);

It is possible to repeat or reflect the gradient outside the area by specifiying spread. The default is to pad the outside area with the color at the closest stop point.

See also QLinearGradient, QRadialGradient, and QConicalGradient.

## Member Type Documentation

### enum QGradient::Spread

Specifies how the areas outside the gradient area should be filled.

Constant | Value | Description
--- | --- | ---
`QGradient::PadSpread` | `0` | The areas are filled with the closes stop color. This is the default.
`QGradient::RepeatSpread` | `2` | The gradient repeats outside the gradient area.
`QGradient::ReflectSpread` | `1` | The gradient is reflected outside the gradient area.

### enum QGradient::Type

Specifies the type of gradient.

Constant | Value | Description
--- | --- | ---
`QGradient::LinearGradient` | `0` | The gradient is a linear gradient.
`QGradient::RadialGradient` | `1` | The gradient is a radial gradient.
`QGradient::ConicalGradient` | `2` | The gradient is a conical gradient.

## Member Function Documentation

### void QGradient::appendStop ( const QGradientStop & stop )

Appends the stop point stop to the gradient.. The position of stop must be in the range 0 to 1 and must be added in increasing order.

### void QGradient::appendStop ( qreal pos, const QColor & color )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Appends another stop point at the relative position pos with color color. The position pos must be in the range 0 to 1 and must be added in increasing order.

### void QGradient::setSpread ( Spread spread )

Specifies the spread method that should be used for this gradient. This function only has effect for linear and radial gradients.

### void QGradient::setStops ( const QGradientStops & stops )

Replaces the current set of stop points with stops. The positions of the stop points must in the range 0 to 1 and must be sorted with the lowest point first.

### Spread QGradient::spread () const

Returns the spread method use by this gradient. The default is Pad

### QGradientStops QGradient::stops () const

Returns the stops for this gradient.

If no stops have been spesified a gradient of black at 0 to white at 1 is used.

### Type QGradient::type () const

Returns the type of gradient.