En esta página

QCanvasGradient Class

QCanvasGradient es la clase base para todos los pinceles de degradado de QCanvasPainter. Más...

Cabecera: #include <QCanvasGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
Desde: Qt 6.11
Hereda de: QCanvasBrush
Heredado de:

QCanvasBoxGradient, QCanvasConicalGradient, QCanvasLinearGradient, y QCanvasRadialGradient

Estado: Technical Preview Technical Preview

Funciones públicas

QColor endColor() const
void setColorAt(float position, const QColor &color)
void setEndColor(const QColor &color)
void setStartColor(const QColor &color)
void setStops(const QCanvasGradientStops &stops)
QColor startColor() const
QCanvasGradientStops stops() const
QCanvasBrush::BrushType type() const
operator QVariant() const
QCanvasGradientStops
bool operator!=(const QCanvasGradient &lhs, const QCanvasGradient &rhs)
QDataStream &operator<<(QDataStream &stream, const QCanvasGradient &gradient)
QDataStream &operator<<(QDataStream &stream, const QCanvasGradientStop &stop)
bool operator==(const QCanvasGradient &lhs, const QCanvasGradient &rhs)
QDataStream &operator>>(QDataStream &stream, QCanvasGradient &gradient)
QDataStream &operator>>(QDataStream &stream, QCanvasGradientStop &stop)

Descripción Detallada

QCanvasGradient es la clase base para todos los pinceles de degradado de QCanvasPainter. Actualmente hay cuatro tipos de gradientes: QCanvasLinearGradient, QCanvasRadialGradient, QCanvasConicalGradient y QCanvasBoxGradient.

Si no se proporcionan paradas con setStartColor, setEndColor, setColorAt o setStops, el gradiente se representa como color inicial blanco (255,255,255) y color final transparente (0,0,0,0). Si sólo se proporciona un único tope, el degradado se rellena con este color.

QCanvasPainter utiliza dos enfoques diferentes para pintar degradados.

  • Con un máximo de 2 paradas, los colores se pasan al shader como 2 vec4 uniformes. Esto hace que la animación de gradientes de 2 paradas sea muy eficiente, sin pasos adicionales intermedios.
  • Con más de 2 paradas, los colores se pasan al shader como una textura unidimensional. Por defecto, el tamaño de la textura es 1x256 píxeles, optimizado para la calidad y el rendimiento. Las texturas se almacenan en caché, por lo que cuando las paradas del gradiente o los colores no cambian, la textura anterior se puede reutilizar incluso cuando otras propiedades del gradiente (como la posición, el ángulo, etc.) cambian. Aunque animar gradientes con múltiples paradas es rápido, causará subidas de texturas, así que considera si merece la pena.

Hay algunas variables de entorno para controlar el uso de la textura de los gradientes:

  • QCPAINTER_DISABLE_TEXTURE_USAGE_TRACKING - Por defecto, el uso de texturas de gradiente es rastreado y mantenido por debajo de la cantidad máxima. Establece esta variable de entorno para desactivar el seguimiento y mantener todas las texturas de degradado en memoria.
  • QCPAINTER_MAX_TEXTURES - Por defecto, la cantidad máxima de texturas es 1024. Configure esta variable de entorno para que contenga el número de texturas máximo deseado. Las texturas de gradiente temporales no utilizadas se eliminan automáticamente cuando se alcanza la cantidad máxima.

    Nota: Esto no tiene efecto cuando el seguimiento del uso de texturas ha sido desactivado.

Documentación de las funciones miembro

QColor QCanvasGradient::endColor() const

Devuelve el color final del degradado o el color en la posición más grande. Si no se ha establecido el color final, devuelve el color final por defecto negro transparente (0, 0, 0, 0).

Véase también setEndColor().

void QCanvasGradient::setColorAt(float position, const QColor &color)

Crea un punto de parada en el position dado con el color dado. El position dado debe estar en el rango de 0 a 1.

Véase también setStops() y stops().

void QCanvasGradient::setEndColor(const QColor &color)

Establece el color final del gradiente en color. Esto es igual a llamar a setColorAt() con la posición 1.

Véase también endColor().

void QCanvasGradient::setStartColor(const QColor &color)

Establece el color de inicio del degradado en color. Esto es igual a llamar a setColorAt() con la posición 0.

Véase también startColor().

void QCanvasGradient::setStops(const QCanvasGradientStops &stops)

Sustituye el conjunto actual de puntos de parada por el dado stops.

Las reglas para la lista de paradas son las siguientes

  • La lista debe contener al menos 2 paradas.
  • Las posiciones de los topes deben estar en el rango de 0 a 1, y deben estar ordenados con los topes más bajos primero.
  • La primera posición debe estar en 0.0 y la última en 1.0.

Véase también setColorAt() y stops().

QColor QCanvasGradient::startColor() const

Devuelve el color de inicio del degradado o el color en la posición más pequeña. Si no se ha establecido el color de inicio, devuelve el color de inicio por defecto blanco (255, 255, 255).

Véase también setStartColor().

QCanvasGradientStops QCanvasGradient::stops() const

Devuelve los puntos de parada de este gradiente.

Véase también setStops() y setColorAt().

QCanvasBrush::BrushType QCanvasGradient::type() const

Devuelve el tipo de gradiente.

QCanvasGradient::operator QVariant() const

Devuelve el gradiente como QVariant.

Relacionados No miembros

QCanvasGradientStops

Typedef para QList<QCanvasGradientStop>.

[noexcept] bool operator!=(const QCanvasGradient &lhs, const QCanvasGradient &rhs)

Devuelve true si el gradiente lhs es diferente de rhs; false en caso contrario.

Véase también operator==().

QDataStream &operator<<(QDataStream &stream, const QCanvasGradient &gradient)

Escribe el gradient dado en el stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos Qt.

QDataStream &operator<<(QDataStream &stream, const QCanvasGradientStop &stop)

Escribe el gradiente stop en el stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos Qt.

[noexcept] bool operator==(const QCanvasGradient &lhs, const QCanvasGradient &rhs)

Devuelve true si el gradiente lhs es igual a rhs; false en caso contrario.

Véase también operator!=().

QDataStream &operator>>(QDataStream &stream, QCanvasGradient &gradient)

Lee el gradient dado del stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos Qt.

QDataStream &operator>>(QDataStream &stream, QCanvasGradientStop &stop)

Lee un gradiente stop del stream dado y devuelve una referencia al stream.

Véase también Serializar tipos de datos Qt.

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