|  | 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 setColorAt ( qreal pos, const QColor & color )
- void setSpread ( Spread method )
- void setStops ( const QGradientStops & stops )
- Spread spread () const
- QGradientStops stops () const
- Type type () const

### Related Non-Members

- typedef QGradientStop
- typedef QGradientStops

## 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 linearGrad(QPointF(100, 100), QPointF(200, 200));
            linearGrad.setColorAt(0, Qt::black);
            linearGrad.setColorAt(1, Qt::white);

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

            QRadialGradient radialGrad(QPointF(100, 100), 100);
            radialGrad.setColorAt(0, Qt::red);
            radialGrad.setColorAt(0.5, Qt::blue);
            radialGrad.setColorAt(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::setColorAt ( qreal pos, const QColor & color )

Sets another stop point at the relative position pos with color color. The position pos must be in the range 0 to 1.

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

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 be 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 PadSpread.

### 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.

## Related Non-Members

### typedef QGradientStop

Typedef for QPair<qreal, QColor>.

### typedef QGradientStops

Typedef for QVector<QGradientStop>.