Sur cette page

QGradient Class

La classe QGradient est utilisée en combinaison avec QBrush pour spécifier des remplissages en dégradé. Plus d'informations...

En-tête : #include <QGradient>
CMake : find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake : QT += gui
Héritée 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 remplissage par gradient :

  • 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é d'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(). Chaque type 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 du 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 des points d'arrêt.

C'est l'ensemble des points d'arrêt du dégradé (accessibles via la fonction stops()) qui décrit la manière dont 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 à (100, 100) au blanc à (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 avoir un nombre arbitraire de points d'arrêt. L'exemple suivant créerait un dégradé radial commençant par le rouge au centre, puis le bleu et le 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'adresse spread method à l'aide de la fonction setSpread(). Par défaut, la zone extérieure est remplacée par la couleur du point d'arrêt le plus proche. La fonction spread() permet de récupérer la valeur actuellement définie pour spread method. L'énumération QGradient::Spread définit trois méthodes différentes :

Notez que la fonction setSpread() n'a d'effet que pour les dégradés linéaires et radiaux. La raison en est que le gradient conique est fermé par définition, c'est-à-dire qu'il remplit tout le cercle de 0 à 360 degrés, alors que la limite d'un gradient radial ou linéaire peut être spécifiée par son rayon ou ses points d'arrêt finaux, respectivement.

Les coordonnées du dégradé peuvent être spécifiées en coordonnées logiques, par rapport aux coordonnées de l'appareil ou par rapport aux coordonnées de la boîte de délimitation de l'objet. L'adresse coordinate mode peut être définie à l'aide de la fonction setCoordinateMode(). La valeur par défaut est LogicalMode, où les coordonnées du gradient sont spécifiées de la même manière que les coordonnées de l'objet. Pour récupérer la valeur actuelle de coordinate mode, utilisez la fonction coordinateMode().

Voir également l 'exemple des gradients et QBrush.

Documentation sur les types de membres

enum QGradient::CoordinateMode

Cette énumération spécifie comment les coordonnées du dégradé s'appliquent au dispositif de peinture sur lequel le dégradé est utilisé.

ConstanteValeurDescription
QGradient::LogicalMode0Il s'agit du mode par défaut. Les coordonnées du dégradé sont spécifiées 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 dessiné, avec (0,0) dans le coin supérieur gauche et (1,1) dans le coin inférieur droit du rectangle de délimitation de l'objet. Cette valeur a été ajoutée dans Qt 5.12.
QGradient::StretchToDeviceMode1Dans ce mode, les coordonnées du dégradé sont relatives au rectangle de délimitation du dispositif de peinture, avec (0,0) dans le coin supérieur gauche et (1,1) dans le coin inférieur droit du dispositif de peinture.
QGradient::ObjectBoundingMode2Ce mode est identique à ObjectMode, sauf que la {QBrush::transform()} {transformation de pinceau}, le cas échéant, est appliquée par rapport à l'espace logique au lieu de l'espace objet. Cette valeur est obsolète et ne doit pas être utilisée dans un nouveau code.

enum QGradient::Preset

Cette énumération spécifie un ensemble de préréglages prédéfinis pour QGradient, basés sur les gradients de 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

Spécifie comment la zone située en dehors de la zone de gradient doit être remplie.

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 reflété en dehors de la zone de dégradé.

Voir également spread() et setSpread().

enum QGradient::Type

Spécifie le type de gradient.

ConstanteValeurDescription
QGradient::LinearGradient0Interpole les couleurs entre les points de départ et d'arrivée (QLinearGradient).
QGradient::RadialGradient1Interpole les couleurs entre un point focal et les points d'extrémité d'un cercle qui l'entoure (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)

Construit un gradient basé sur une valeur prédéfinie preset.

Le mode de coordonnées du dégradé résultant 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 également setCoordinateMode().

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

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

Voir aussi setStops() et stops().

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

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

Voir également coordinateMode().

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

Spécifie l'étalement method qui doit être utilisé pour ce gradient.

Notez que cette fonction n'a d'effet que pour les gradients linéaires et radiaux.

Voir également spread().

void QGradient::setStops(const QGradientStops &stopPoints)

Remplace le jeu actuel de points d'arrêt par le jeu donné stopPoints. Les positions des points doivent être comprises entre 0 et 1 et doivent être triées en commençant par le point le plus bas.

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

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

Renvoie true si le gradient est le même que l'autre gradient spécifié ; sinon, renvoie false.

Voir aussi operator==().

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

Renvoie true si le gradient est le même que l'autre gradient spécifié ; sinon, renvoie false.

Voir également operator!=().

Non-membres apparentés

QGradientStop

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

QGradientStops

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