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: |
- Lista de todos los miembros, incluyendo los heredados
- QGradient es parte de Painting Classes e Implicitly Shared Classes.
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 |
No Miembros Relacionados
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.
| Constante | Valor | Descripción |
|---|---|---|
QGradient::LogicalMode | 0 | Este es el modo por defecto. Las coordenadas del gradiente se especifican en el espacio lógico igual que las coordenadas del objeto. |
QGradient::ObjectMode | 3 | En 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::StretchToDeviceMode | 1 | En 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::ObjectBoundingMode | 2 | Este 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/.
| Constante | Valor |
|---|---|
QGradient::WarmFlame | 1 |
QGradient::NightFade | 2 |
QGradient::SpringWarmth | 3 |
QGradient::JuicyPeach | 4 |
QGradient::YoungPassion | 5 |
QGradient::LadyLips | 6 |
QGradient::SunnyMorning | 7 |
QGradient::RainyAshville | 8 |
QGradient::FrozenDreams | 9 |
QGradient::WinterNeva | 10 |
QGradient::DustyGrass | 11 |
QGradient::TemptingAzure | 12 |
QGradient::HeavyRain | 13 |
QGradient::AmyCrisp | 14 |
QGradient::MeanFruit | 15 |
QGradient::DeepBlue | 16 |
QGradient::RipeMalinka | 17 |
QGradient::CloudyKnoxville | 18 |
QGradient::MalibuBeach | 19 |
QGradient::NewLife | 20 |
QGradient::TrueSunset | 21 |
QGradient::MorpheusDen | 22 |
QGradient::RareWind | 23 |
QGradient::NearMoon | 24 |
QGradient::WildApple | 25 |
QGradient::SaintPetersburg | 26 |
QGradient::PlumPlate | 28 |
QGradient::EverlastingSky | 29 |
QGradient::HappyFisher | 30 |
QGradient::Blessing | 31 |
QGradient::SharpeyeEagle | 32 |
QGradient::LadogaBottom | 33 |
QGradient::LemonGate | 34 |
QGradient::ItmeoBranding | 35 |
QGradient::ZeusMiracle | 36 |
QGradient::OldHat | 37 |
QGradient::StarWine | 38 |
QGradient::HappyAcid | 41 |
QGradient::AwesomePine | 42 |
QGradient::NewYork | 43 |
QGradient::ShyRainbow | 44 |
QGradient::MixedHopes | 46 |
QGradient::FlyHigh | 47 |
QGradient::StrongBliss | 48 |
QGradient::FreshMilk | 49 |
QGradient::SnowAgain | 50 |
QGradient::FebruaryInk | 51 |
QGradient::KindSteel | 52 |
QGradient::SoftGrass | 53 |
QGradient::GrownEarly | 54 |
QGradient::SharpBlues | 55 |
QGradient::ShadyWater | 56 |
QGradient::DirtyBeauty | 57 |
QGradient::GreatWhale | 58 |
QGradient::TeenNotebook | 59 |
QGradient::PoliteRumors | 60 |
QGradient::SweetPeriod | 61 |
QGradient::WideMatrix | 62 |
QGradient::SoftCherish | 63 |
QGradient::RedSalvation | 64 |
QGradient::BurningSpring | 65 |
QGradient::NightParty | 66 |
QGradient::SkyGlider | 67 |
QGradient::HeavenPeach | 68 |
QGradient::PurpleDivision | 69 |
QGradient::AquaSplash | 70 |
QGradient::SpikyNaga | 72 |
QGradient::LoveKiss | 73 |
QGradient::CleanMirror | 75 |
QGradient::PremiumDark | 76 |
QGradient::ColdEvening | 77 |
QGradient::CochitiLake | 78 |
QGradient::SummerGames | 79 |
QGradient::PassionateBed | 80 |
QGradient::MountainRock | 81 |
QGradient::DesertHump | 82 |
QGradient::JungleDay | 83 |
QGradient::PhoenixStart | 84 |
QGradient::OctoberSilence | 85 |
QGradient::FarawayRiver | 86 |
QGradient::AlchemistLab | 87 |
QGradient::OverSun | 88 |
QGradient::PremiumWhite | 89 |
QGradient::MarsParty | 90 |
QGradient::EternalConstance | 91 |
QGradient::JapanBlush | 92 |
QGradient::SmilingRain | 93 |
QGradient::CloudyApple | 94 |
QGradient::BigMango | 95 |
QGradient::HealthyWater | 96 |
QGradient::AmourAmour | 97 |
QGradient::RiskyConcrete | 98 |
QGradient::StrongStick | 99 |
QGradient::ViciousStance | 100 |
QGradient::PaloAlto | 101 |
QGradient::HappyMemories | 102 |
QGradient::MidnightBloom | 103 |
QGradient::Crystalline | 104 |
QGradient::PartyBliss | 106 |
QGradient::ConfidentCloud | 107 |
QGradient::LeCocktail | 108 |
QGradient::RiverCity | 109 |
QGradient::FrozenBerry | 110 |
QGradient::ChildCare | 112 |
QGradient::FlyingLemon | 113 |
QGradient::NewRetrowave | 114 |
QGradient::HiddenJaguar | 115 |
QGradient::AboveTheSky | 116 |
QGradient::Nega | 117 |
QGradient::DenseWater | 118 |
QGradient::Seashore | 120 |
QGradient::MarbleWall | 121 |
QGradient::CheerfulCaramel | 122 |
QGradient::NightSky | 123 |
QGradient::MagicLake | 124 |
QGradient::YoungGrass | 125 |
QGradient::ColorfulPeach | 126 |
QGradient::GentleCare | 127 |
QGradient::PlumBath | 128 |
QGradient::HappyUnicorn | 129 |
QGradient::AfricanField | 131 |
QGradient::SolidStone | 132 |
QGradient::OrangeJuice | 133 |
QGradient::GlassWater | 134 |
QGradient::NorthMiracle | 136 |
QGradient::FruitBlend | 137 |
QGradient::MillenniumPine | 138 |
QGradient::HighFlight | 139 |
QGradient::MoleHall | 140 |
QGradient::SpaceShift | 142 |
QGradient::ForestInei | 143 |
QGradient::RoyalGarden | 144 |
QGradient::RichMetal | 145 |
QGradient::JuicyCake | 146 |
QGradient::SmartIndigo | 147 |
QGradient::SandStrike | 148 |
QGradient::NorseBeauty | 149 |
QGradient::AquaGuidance | 150 |
QGradient::SunVeggie | 151 |
QGradient::SeaLord | 152 |
QGradient::BlackSea | 153 |
QGradient::GrassShampoo | 154 |
QGradient::LandingAircraft | 155 |
QGradient::WitchDance | 156 |
QGradient::SleeplessNight | 157 |
QGradient::AngelCare | 158 |
QGradient::CrystalRiver | 159 |
QGradient::SoftLipstick | 160 |
QGradient::SaltMountain | 161 |
QGradient::PerfectWhite | 162 |
QGradient::FreshOasis | 163 |
QGradient::StrictNovember | 164 |
QGradient::MorningSalad | 165 |
QGradient::DeepRelief | 166 |
QGradient::SeaStrike | 167 |
QGradient::NightCall | 168 |
QGradient::SupremeSky | 169 |
QGradient::LightBlue | 170 |
QGradient::MindCrawl | 171 |
QGradient::LilyMeadow | 172 |
QGradient::SugarLollipop | 173 |
QGradient::SweetDessert | 174 |
QGradient::MagicRay | 175 |
QGradient::TeenParty | 176 |
QGradient::FrozenHeat | 177 |
QGradient::GagarinView | 178 |
QGradient::FabledSunset | 179 |
QGradient::PerfectBlue | 180 |
enum QGradient::Spread
Especifica cómo debe rellenarse el área fuera del área del degradado.
| Constante | Valor | Descripción |
|---|---|---|
QGradient::PadSpread | 0 | El área se rellena con el color de parada más cercano. Este es el valor por defecto. |
QGradient::RepeatSpread | 2 | El degradado se repite fuera del área de degradado. |
QGradient::ReflectSpread | 1 | El degradado se refleja fuera del área de degradado. |
Véase también spread() y setSpread().
enum QGradient::Type
Especifica el tipo de gradiente.
| Constante | Valor | Descripción |
|---|---|---|
QGradient::LinearGradient | 0 | Interpola colores entre los puntos inicial y final (QLinearGradient). |
QGradient::RadialGradient | 1 | Interpola colores entre un punto central y los puntos finales de un círculo que lo rodea (QRadialGradient). |
QGradient::ConicalGradient | 2 | Interpola colores alrededor de un punto central (QConicalGradient). |
QGradient::NoGradient | 3 | No 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.





