En esta página

QGradient Class

La clase QGradient se utiliza en combinación con QBrush para especificar rellenos de degradado. Más...

Cabecera: #include <QGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Heredado por:

QConicalGradient, QLinearGradient, y QRadialGradient

Tipos Públicos

enum CoordinateMode { LogicalMode, ObjectMode, StretchToDeviceMode, ObjectBoundingMode }
enum Preset { WarmFlame, NightFade, SpringWarmth, JuicyPeach, YoungPassion, …, PerfectBlue }
enum Spread { PadSpread, RepeatSpread, ReflectSpread }
enum Type { LinearGradient, RadialGradient, ConicalGradient, NoGradient }

Funciones Públicas

QGradient(QGradient::Preset preset)
QGradient::CoordinateMode coordinateMode() const
void setColorAt(qreal position, const QColor &color)
void setCoordinateMode(QGradient::CoordinateMode mode)
void setSpread(QGradient::Spread method)
void setStops(const QGradientStops &stopPoints)
QGradient::Spread spread() const
QGradientStops stops() const
QGradient::Type type() const
bool operator!=(const QGradient &gradient) const
bool operator==(const QGradient &gradient) const

Descripción Detallada

Qt actualmente soporta tres tipos de rellenos de degradado:

  • Los degradadoslineales interpolan colores entre puntos iniciales y finales.
  • Los degradados radialessimples interpolan colores entre un punto focal y los puntos finales de un círculo que lo rodea.
  • Los degradados radialesextendidos interpolan colores entre un centro y un círculo focal.
  • Los degradadoscónicos interpolan colores alrededor de un punto central.

El tipo de un degradado puede recuperarse mediante la función type(). Cada tipo está representado por una subclase de QGradient:

Los colores de un gradiente se definen utilizando puntos de parada del tipo QGradientStop; es decir, una posición y un color. Utilice la función setColorAt() para definir un único punto de parada. Alternativamente, utilice la función setStops() para definir varios puntos de parada de una sola vez. Tenga en cuenta que esta última función sustituye al conjunto actual de puntos de parada.

Es el conjunto completo de puntos de parada del gradiente (accesible a través de la función stops()) el que describe cómo debe rellenarse el área del gradiente. Si no se han especificado puntos de parada, se utiliza un gradiente de negro a 0 a blanco a 1.

Un degradado lineal diagonal de negro a (100, 100) a blanco a (200, 200) podría especificarse así:

QLinearGradient linearGrad(QPointF(100, 100), QPointF(200, 200));
linearGrad.setColorAt(0, Qt::black);
linearGrad.setColorAt(1, Qt::white);

Un degradado puede tener un número arbitrario de puntos de parada. Lo siguiente crearía un degradado radial empezando con rojo en el centro, azul y luego verde en los bordes:

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

Es posible repetir o reflejar el degradado fuera de su área especificando spread method mediante la función setSpread(). Por defecto se rellena el área exterior con el color del punto de parada más cercano. El valor actual de spread method puede recuperarse mediante la función spread(). El enum QGradient::Spread define tres métodos diferentes:

Tenga en cuenta que la función setSpread() sólo tiene efecto para gradientes lineales y radiales. La razón es que el gradiente cónico es cerrado por definición, es decir, el gradiente cónico llena todo el círculo de 0 - 360 grados, mientras que el límite de un gradiente radial o lineal puede especificarse a través de su radio o puntos finales de parada, respectivamente.

Las coordenadas del gradiente pueden especificarse en coordenadas lógicas, relativas a las coordenadas del dispositivo o relativas a las coordenadas del cuadro delimitador del objeto. La dirección coordinate mode puede establecerse mediante la función setCoordinateMode(). El valor por defecto es LogicalMode, donde las coordenadas del gradiente se especifican de la misma forma que las coordenadas del objeto. Para recuperar el valor actual de coordinate mode utilice coordinateMode().

Véase también El ejemplo de los gradientes y QBrush.

Documentación de tipos de miembros

enum QGradient::CoordinateMode

Esta enum especifica cómo se asignan las coordenadas del degradado al dispositivo de pintura en el que se utiliza el degradado.

ConstanteValorDescripción
QGradient::LogicalMode0Este es el modo por defecto. Las coordenadas del gradiente se especifican en el espacio lógico igual que las coordenadas del objeto.
QGradient::ObjectMode3En este modo las coordenadas del gradiente son relativas al rectángulo delimitador del objeto que se dibuja, con (0,0) en la esquina superior izquierda, y (1,1) en la esquina inferior derecha del rectángulo delimitador del objeto. Este valor se añadió en Qt 5.12.
QGradient::StretchToDeviceMode1En este modo, las coordenadas del gradiente son relativas al rectángulo que delimita el dispositivo de pintura, con (0,0) en la esquina superior izquierda y (1,1) en la esquina inferior derecha del dispositivo de pintura.
QGradient::ObjectBoundingMode2Este modo es el mismo que ObjectMode, excepto que la {QBrush::transform()} {transformación del pincel}, si la hay, se aplica relativa al espacio lógico en lugar del espacio del objeto. Este valor enum está obsoleto y no debe utilizarse en código nuevo.

enum QGradient::Preset

Este enum especifica un conjunto de preajustes predefinidos para QGradient, basados en los gradientes de https://webgradients.com/.

ConstanteValor
QGradient::WarmFlame1
QGradient::NightFade2
QGradient::SpringWarmth3
QGradient::JuicyPeach4
QGradient::YoungPassion5
QGradient::LadyLips6
QGradient::SunnyMorning7
QGradient::RainyAshville8
QGradient::FrozenDreams9
QGradient::WinterNeva10
QGradient::DustyGrass11
QGradient::TemptingAzure12
QGradient::HeavyRain13
QGradient::AmyCrisp14
QGradient::MeanFruit15
QGradient::DeepBlue16
QGradient::RipeMalinka17
QGradient::CloudyKnoxville18
QGradient::MalibuBeach19
QGradient::NewLife20
QGradient::TrueSunset21
QGradient::MorpheusDen22
QGradient::RareWind23
QGradient::NearMoon24
QGradient::WildApple25
QGradient::SaintPetersburg26
QGradient::PlumPlate28
QGradient::EverlastingSky29
QGradient::HappyFisher30
QGradient::Blessing31
QGradient::SharpeyeEagle32
QGradient::LadogaBottom33
QGradient::LemonGate34
QGradient::ItmeoBranding35
QGradient::ZeusMiracle36
QGradient::OldHat37
QGradient::StarWine38
QGradient::HappyAcid41
QGradient::AwesomePine42
QGradient::NewYork43
QGradient::ShyRainbow44
QGradient::MixedHopes46
QGradient::FlyHigh47
QGradient::StrongBliss48
QGradient::FreshMilk49
QGradient::SnowAgain50
QGradient::FebruaryInk51
QGradient::KindSteel52
QGradient::SoftGrass53
QGradient::GrownEarly54
QGradient::SharpBlues55
QGradient::ShadyWater56
QGradient::DirtyBeauty57
QGradient::GreatWhale58
QGradient::TeenNotebook59
QGradient::PoliteRumors60
QGradient::SweetPeriod61
QGradient::WideMatrix62
QGradient::SoftCherish63
QGradient::RedSalvation64
QGradient::BurningSpring65
QGradient::NightParty66
QGradient::SkyGlider67
QGradient::HeavenPeach68
QGradient::PurpleDivision69
QGradient::AquaSplash70
QGradient::SpikyNaga72
QGradient::LoveKiss73
QGradient::CleanMirror75
QGradient::PremiumDark76
QGradient::ColdEvening77
QGradient::CochitiLake78
QGradient::SummerGames79
QGradient::PassionateBed80
QGradient::MountainRock81
QGradient::DesertHump82
QGradient::JungleDay83
QGradient::PhoenixStart84
QGradient::OctoberSilence85
QGradient::FarawayRiver86
QGradient::AlchemistLab87
QGradient::OverSun88
QGradient::PremiumWhite89
QGradient::MarsParty90
QGradient::EternalConstance91
QGradient::JapanBlush92
QGradient::SmilingRain93
QGradient::CloudyApple94
QGradient::BigMango95
QGradient::HealthyWater96
QGradient::AmourAmour97
QGradient::RiskyConcrete98
QGradient::StrongStick99
QGradient::ViciousStance100
QGradient::PaloAlto101
QGradient::HappyMemories102
QGradient::MidnightBloom103
QGradient::Crystalline104
QGradient::PartyBliss106
QGradient::ConfidentCloud107
QGradient::LeCocktail108
QGradient::RiverCity109
QGradient::FrozenBerry110
QGradient::ChildCare112
QGradient::FlyingLemon113
QGradient::NewRetrowave114
QGradient::HiddenJaguar115
QGradient::AboveTheSky116
QGradient::Nega117
QGradient::DenseWater118
QGradient::Seashore120
QGradient::MarbleWall121
QGradient::CheerfulCaramel122
QGradient::NightSky123
QGradient::MagicLake124
QGradient::YoungGrass125
QGradient::ColorfulPeach126
QGradient::GentleCare127
QGradient::PlumBath128
QGradient::HappyUnicorn129
QGradient::AfricanField131
QGradient::SolidStone132
QGradient::OrangeJuice133
QGradient::GlassWater134
QGradient::NorthMiracle136
QGradient::FruitBlend137
QGradient::MillenniumPine138
QGradient::HighFlight139
QGradient::MoleHall140
QGradient::SpaceShift142
QGradient::ForestInei143
QGradient::RoyalGarden144
QGradient::RichMetal145
QGradient::JuicyCake146
QGradient::SmartIndigo147
QGradient::SandStrike148
QGradient::NorseBeauty149
QGradient::AquaGuidance150
QGradient::SunVeggie151
QGradient::SeaLord152
QGradient::BlackSea153
QGradient::GrassShampoo154
QGradient::LandingAircraft155
QGradient::WitchDance156
QGradient::SleeplessNight157
QGradient::AngelCare158
QGradient::CrystalRiver159
QGradient::SoftLipstick160
QGradient::SaltMountain161
QGradient::PerfectWhite162
QGradient::FreshOasis163
QGradient::StrictNovember164
QGradient::MorningSalad165
QGradient::DeepRelief166
QGradient::SeaStrike167
QGradient::NightCall168
QGradient::SupremeSky169
QGradient::LightBlue170
QGradient::MindCrawl171
QGradient::LilyMeadow172
QGradient::SugarLollipop173
QGradient::SweetDessert174
QGradient::MagicRay175
QGradient::TeenParty176
QGradient::FrozenHeat177
QGradient::GagarinView178
QGradient::FabledSunset179
QGradient::PerfectBlue180

enum QGradient::Spread

Especifica cómo debe rellenarse el área fuera del área del degradado.

ConstanteValorDescripción
QGradient::PadSpread0El área se rellena con el color de parada más cercano. Este es el valor por defecto.
QGradient::RepeatSpread2El degradado se repite fuera del área de degradado.
QGradient::ReflectSpread1El degradado se refleja fuera del área de degradado.

Véase también spread() y setSpread().

enum QGradient::Type

Especifica el tipo de gradiente.

ConstanteValorDescripción
QGradient::LinearGradient0Interpola colores entre los puntos inicial y final (QLinearGradient).
QGradient::RadialGradient1Interpola colores entre un punto central y los puntos finales de un círculo que lo rodea (QRadialGradient).
QGradient::ConicalGradient2Interpola colores alrededor de un punto central (QConicalGradient).
QGradient::NoGradient3No se utiliza gradiente.

Véase también type().

Documentación de las funciones miembro

QGradient::QGradient(QGradient::Preset preset)

Construye un gradiente basado en un valor predefinido preset.

El modo de coordenadas del gradiente resultante es QGradient::ObjectMode, lo que permite aplicar el preajuste a objetos de tamaño arbitrario.

QGradient::CoordinateMode QGradient::coordinateMode() const

Devuelve el modo de coordenadas de este gradiente. El modo por defecto es LogicalMode.

Véase también setCoordinateMode().

void QGradient::setColorAt(qreal 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 QGradient::setCoordinateMode(QGradient::CoordinateMode mode)

Establece el modo de coordenadas de este gradiente en mode. El modo por defecto es LogicalMode.

Véase también coordinateMode().

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

Especifica la dispersión method que debe utilizarse para este gradiente.

Tenga en cuenta que esta función sólo tiene efecto para gradientes lineales y radiales.

Véase también spread().

void QGradient::setStops(const QGradientStops &stopPoints)

Sustituye el conjunto actual de puntos de parada por el dado stopPoints. Las posiciones de los puntos deben estar en el rango de 0 a 1, y deben ordenarse con el punto más bajo en primer lugar.

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

QGradient::Spread QGradient::spread() const

Devuelve el método de propagación utilizado por este gradiente. Por defecto es PadSpread.

Véase también setSpread().

QGradientStops QGradient::stops() const

Devuelve los puntos de parada para este gradiente.

Si no se han especificado puntos de parada, se utiliza un gradiente de negro a 0 a blanco a 1.

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

QGradient::Type QGradient::type() const

Devuelve el tipo de gradiente.

bool QGradient::operator!=(const QGradient &gradient) const

Devuelve true si el gradiente es el mismo que el otro gradient especificado; en caso contrario devuelve false.

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

bool QGradient::operator==(const QGradient &gradient) const

Devuelve true si el gradiente es el mismo que el otro gradient especificado; en caso contrario devuelve false.

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

No miembros relacionados

QGradientStop

Typedef para std::pair<qreal, QColor>.

QGradientStops

Typedef para QList<QGradientStop>.

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