Sur cette page

QGradient Class

La classe QGradient s'utilise en association avec la fonction « QBrush » pour définir des remplissages en dégradé. En savoir plus...

En-tête : #include <QGradient>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Hérité par :

QConicalGradient, QLinearGradient et QRadialGradient

Types publics

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 }

Fonctions publiques

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

Description détaillée

Qt prend actuellement en charge trois types de remplissages en dégradé :

  • Les dégradéslinéaires interpolent les couleurs entre les points de départ et d'arrivée.
  • Les dégradés radiauxsimples interpolent les couleurs entre un point focal et les points d'extrémité situés sur un cercle qui l'entoure.
  • Les dégradés radiauxétendus interpolent les couleurs entre un centre et un cercle focal.
  • Les dégradésconiques interpolent les couleurs autour d’un point central.

Le type d'un dégradé peut être récupéré à l'aide de la fonction ` type()`. Chacun de ces types est représenté par une sous-classe de `QGradient` :

Les couleurs d’un dégradé sont définies à l’aide de points d’arrêt de type ` QGradientStop ` ; c’est-à-dire une position et une couleur. Utilisez la fonction ` setColorAt()` pour définir un seul point d’arrêt. Vous pouvez également utiliser la fonction ` setStops()` pour définir plusieurs points d’arrêt en une seule fois. Notez que cette dernière fonction remplace l’ensemble actuel de points d’arrêt.

C’est l’ensemble complet des points d’arrêt du dégradé (accessible via la fonction stops()) qui décrit comment la zone de dégradé doit être remplie. Si aucun point d’arrêt n’a été spécifié, un dégradé allant du noir à 0 au blanc à 1 est utilisé.

Un dégradé linéaire diagonal allant du noir en (100, 100) au blanc en (200, 200) pourrait être spécifié comme suit :

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

Un dégradé peut comporter un nombre arbitraire de points d'arrêt. Le code suivant créerait un dégradé radial commençant par du rouge au centre, puis du bleu et enfin du vert sur les bords :

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

Il est possible de répéter ou de refléter le dégradé en dehors de sa zone en spécifiant l’ spread method à l’aide de la fonction setSpread(). Par défaut, la zone extérieure est remplie avec la couleur du point d’arrêt le plus proche. L’ spread method, actuellement défini, peut être récupéré à l’aide de la fonction spread(). L’énumération QGradient::Spread définit trois méthodes différentes :

Notez que la fonction ` setSpread()` ne s’applique qu’aux dégradés linéaires et radiaux. En effet, le dégradé conique est fermé par définition, c’est-à-dire qu’il remplit l’intégralité du cercle de 0 à 360 degrés, tandis que la limite d’un dégradé radial ou linéaire peut être spécifiée respectivement par son rayon ou ses points d’arrêt finaux.

Les coordonnées du dégradé peuvent être spécifiées en coordonnées logiques, par rapport aux coordonnées du périphérique ou par rapport aux coordonnées du cadre de délimitation de l’objet. L’ coordinate mode peut être défini à l’aide de la fonction setCoordinateMode(). La valeur par défaut est LogicalMode, où les coordonnées du dégradé sont spécifiées de la même manière que les coordonnées de l’objet. Pour récupérer l’ coordinate mode actuellement défini, utilisez coordinateMode().

Voir également l’exemple « Les gradients » et QBrush.

Documentation sur les types de membres

enum QGradient::CoordinateMode

Cette énumération spécifie la manière dont les coordonnées du dégradé sont mappées sur le périphérique de dessin sur lequel le dégradé est utilisé.

ConstanteValeurDescription
QGradient::LogicalMode0Il s'agit du mode par défaut. Les coordonnées du dégradé sont définies dans l'espace logique, tout comme les coordonnées de l'objet.
QGradient::ObjectMode3Dans ce mode, les coordonnées du dégradé sont relatives au rectangle de délimitation de l’objet en cours de dessin, avec (0,0) dans le coin supérieur gauche et (1,1) dans le coin inférieur droit de ce rectangle. Cette valeur a été ajoutée dans Qt 5.12.
QGradient::StretchToDeviceMode1Dans ce mode, les coordonnées du dégradé sont relatives au rectangle englobant du périphérique de dessin, le point (0,0) correspondant au coin supérieur gauche et le point (1,1) au coin inférieur droit de ce rectangle.
QGradient::ObjectBoundingMode2Ce mode est identique à ObjectMode, à la différence près que la {QBrush::transform()} {transformation du pinceau}, le cas échéant, est appliquée par rapport à l'espace logique plutôt qu'à l'espace de l'objet. Cette valeur d'énumération est obsolète et ne doit pas être utilisée dans le nouveau code.

enum QGradient::Preset

Cette énumération définit un ensemble de préréglages prédéfinis pour QGradient, basés sur les dégradés disponibles sur https://webgradients.com/.

ConstanteValeur
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

Définit comment remplir la zone située en dehors de la zone de dégradé.

ConstanteValeurDescription
QGradient::PadSpread0La zone est remplie avec la couleur d'arrêt la plus proche. Il s'agit de la valeur par défaut.
QGradient::RepeatSpread2Le dégradé est répété en dehors de la zone de dégradé.
QGradient::ReflectSpread1Le dégradé est inversé en dehors de la zone de dégradé.

Voir également spread() et setSpread().

enum QGradient::Type

Spécifie le type de dégradé.

ConstanteValeurDescription
QGradient::LinearGradient0Interpole les couleurs entre les points de départ et d'arrivée (QLinearGradient).
QGradient::RadialGradient1Interpole les couleurs entre un point central et les points d’extrémité situés sur un cercle l’entourant (QRadialGradient).
QGradient::ConicalGradient2Interpole les couleurs autour d'un point central (QConicalGradient).
QGradient::NoGradient3Aucun dégradé n'est utilisé.

Voir aussi type().

Documentation des fonctions membres

QGradient::QGradient(QGradient::Preset preset)

Crée un dégradé à partir d'une « preset » prédéfinie.

Le mode de coordonnées du dégradé obtenu est « QGradient::ObjectMode », ce qui permet d'appliquer le préréglage à des objets de taille arbitraire.

QGradient::CoordinateMode QGradient::coordinateMode() const

Renvoie le mode de coordonnées de ce dégradé. Le mode par défaut est « LogicalMode ».

Voir aussi setCoordinateMode().

void QGradient::setColorAt(qreal position, const QColor &color)

Crée un point d'arrêt à l'position indiquée avec l'color indiquée. La position indiquée doit être comprise entre 0 et 1.

Voir également setStops() et stops().

void QGradient::setCoordinateMode(QGradient::CoordinateMode mode)

Définit le mode de coordonnées de ce dégradé sur « mode ». Le mode par défaut est « LogicalMode ».

Voir aussi coordinateMode().

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

Spécifie l'method d'étalement à utiliser pour ce dégradé.

Notez que cette fonction n'a d'effet que sur les dégradés linéaires et radiaux.

Voir également spread().

void QGradient::setStops(const QGradientStops &stopPoints)

Remplace l'ensemble actuel de points d'arrêt par celui spécifié dans ` stopPoints`. Les positions des points doivent être comprises entre 0 et 1 et doivent être triées de la plus petite à la plus grande.

Voir également setColorAt() et stops().

QGradient::Spread QGradient::spread() const

Renvoie la méthode de diffusion utilisée par ce gradient. La valeur par défaut est PadSpread.

Voir aussi ` setSpread()`.

QGradientStops QGradient::stops() const

Renvoie les points d'arrêt de ce dégradé.

Si aucun point d'arrêt n'a été spécifié, un dégradé allant du noir (0) au blanc (1) est utilisé.

Voir également setStops() et setColorAt().

QGradient::Type QGradient::type() const

Renvoie le type de dégradé.

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

Renvoie « true » si le gradient est identique à celui de l'autre « gradient » spécifié ; sinon, renvoie « false ».

Voir également operator==().

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

Renvoie ` true ` si le gradient est identique à l'autre ` gradient ` spécifié ; sinon, renvoie ` false`.

Voir également operator!=().

Éléments non membres associés

QGradientStop

Définition de type pour std::pair<qreal, QColor>.

QGradientStops

Définition de type pour 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.