Auf dieser Seite

QGradient Class

Die Klasse „QGradient“ wird in Verbindung mit „ QBrush “ verwendet, um Farbverlaufsfüllungen festzulegen. Mehr...

Header: #include <QGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Vererbt an:

QConicalGradient, „ QLinearGradient “ sowie QRadialGradient

Öffentliche Typen

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 }

Öffentliche Funktionen

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

Ausführliche Beschreibung

Qt unterstützt derzeit drei Arten von Farbverlaufsfüllungen:

  • Lineare Farbverläufe interpolieren Farben zwischen Start- und Endpunkt.
  • Einfache radiale Farbverläufe interpolieren Farben zwischen einem Mittelpunkt und Endpunkten auf einem ihn umgebenden Kreis.
  • Erweiterte radiale Farbverläufe interpolieren Farben zwischen einem Mittelpunkt und einem Fokuskreis.
  • Konische Farbverläufe interpolieren Farben um einen Mittelpunkt herum.

Der Typ eines Farbverlaufs kann mithilfe der Funktion ` type()` abgerufen werden. Jeder der Typen wird durch eine Unterklasse von `QGradient` repräsentiert:

Die Farben in einem Farbverlauf werden mithilfe von Haltepunkten vom Typ ` QGradientStop ` definiert, d. h. einer Position und einer Farbe. Verwenden Sie die Funktion ` setColorAt()` (), um einen einzelnen Haltepunkt zu definieren. Alternativ können Sie die Funktion ` setStops()` () verwenden, um mehrere Haltepunkte auf einmal zu definieren. Beachten Sie, dass die letztgenannte Funktion den aktuellen Satz von Haltepunkten ersetzt.

Es ist der vollständige Satz von Haltepunkten des Farbverlaufs (abrufbar über die Funktion ` stops()`), der beschreibt, wie der Farbverlaufsbereich gefüllt werden soll. Wenn keine Haltepunkte angegeben wurden, wird ein Farbverlauf von Schwarz bei 0 bis Weiß bei 1 verwendet.

Ein diagonaler linearer Farbverlauf von Schwarz bei (100, 100) nach Weiß bei (200, 200) könnte wie folgt festgelegt werden:

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

Ein Farbverlauf kann eine beliebige Anzahl von Haltepunkten haben. Der folgende Code würde einen radialen Farbverlauf erzeugen, der in der Mitte mit Rot beginnt, dann in Blau übergeht und an den Rändern in Grün endet:

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

Es ist möglich, den Farbverlauf außerhalb seines Bereichs zu wiederholen oder zu spiegeln, indem die „ spread method “ mithilfe der Funktion „ setSpread()“ festgelegt wird. Standardmäßig wird der Außenbereich mit der Farbe des nächstgelegenen Haltepunkts aufgefüllt. Die aktuell eingestellte „ spread method “ kann mit der Funktion „ spread()“ abgerufen werden. Die Enumeration „ QGradient::Spread “ definiert drei verschiedene Methoden:

Beachten Sie, dass die Funktion „ setSpread()“ nur bei linearen und radialen Farbverläufen wirksam ist. Der Grund dafür ist, dass der konische Farbverlauf per Definition geschlossen ist, d. h., der konische Farbverlauf füllt den gesamten Kreis von 0 bis 360 Grad aus, während die Begrenzung eines radialen oder linearen Farbverlaufs durch dessen Radius bzw. die Endpunkte festgelegt werden kann.

Die Gradientenkoordinaten können in logischen Koordinaten, relativ zu den Gerätekoordinaten oder relativ zu den Koordinaten des Begrenzungsrahmens des Objekts angegeben werden. Die „ coordinate mode “ können mit der Funktion „ setCoordinateMode()“ festgelegt werden. Die Standardeinstellung ist „ LogicalMode “, wobei die Gradientenkoordinaten auf dieselbe Weise wie die Objektkoordinaten angegeben werden. Um die aktuell eingestellten „ coordinate mode “ abzurufen, verwenden Sie „ coordinateMode()“.

Siehe auch das Beispiel „Gradienten“ und QBrush.

Dokumentation zum Mitgliedstyp

enum QGradient::CoordinateMode

Diese Enumeration legt fest, wie die Koordinaten des Farbverlaufs auf das Zeichen-Gerät abgebildet werden, auf dem der Farbverlauf verwendet wird.

KonstanteWertBeschreibung
QGradient::LogicalMode0Dies ist der Standardmodus. Die Farbverlaufskoordinaten werden genau wie die Objektkoordinaten im logischen Raum angegeben.
QGradient::ObjectMode3In diesem Modus beziehen sich die Farbverlaufskoordinaten auf das Begrenzungsrechteck des zu zeichnenden Objekts, wobei (0,0) in der oberen linken Ecke und (1,1) in der unteren rechten Ecke des Begrenzungsrechtecks des Objekts liegt. Dieser Wert wurde in Qt 5.12 hinzugefügt.
QGradient::StretchToDeviceMode1In diesem Modus beziehen sich die Gradientenkoordinaten auf das Begrenzungsrechteck des Zeichen-Geräts, wobei (0,0) in der oberen linken Ecke und (1,1) in der unteren rechten Ecke des Begrenzungsrechtecks des Zeichen-Geräts liegt.
QGradient::ObjectBoundingMode2Dieser Modus entspricht dem „ObjectMode“, mit dem Unterschied, dass die {QBrush::transform()} {Pinseltransformation}, falls vorhanden, relativ zum logischen Raum statt zum Objektraum angewendet wird. Dieser Enum-Wert ist veraltet und sollte in neuem Code nicht mehr verwendet werden.

enum QGradient::Preset

Diese Enumeration definiert eine Reihe vordefinierter Voreinstellungen für „ QGradient “, die auf den Farbverläufen von https://webgradients.com/ basieren.

KonstanteWert
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

Legt fest, wie der Bereich außerhalb des Farbverlaufsbereichs gefüllt werden soll.

KonstanteWertBeschreibung
QGradient::PadSpread0Der Bereich wird mit der am besten passenden Stoppfarbe gefüllt. Dies ist die Standardeinstellung.
QGradient::RepeatSpread2Der Farbverlauf wird außerhalb des Farbverlaufsbereichs wiederholt.
QGradient::ReflectSpread1Der Farbverlauf wird außerhalb des Farbverlaufsbereichs gespiegelt.

Siehe auch spread() und setSpread().

enum QGradient::Type

Legt die Art des Farbverlaufs fest.

KonstanteWertBeschreibung
QGradient::LinearGradient0Interpoliert Farben zwischen Start- und Endpunkt (QLinearGradient).
QGradient::RadialGradient1Interpoliert Farben zwischen einem Brennpunkt und den Endpunkten auf einem ihn umgebenden Kreis (QRadialGradient).
QGradient::ConicalGradient2Interpoliert Farben um einen Mittelpunkt herum (QConicalGradient).
QGradient::NoGradient3Es wird kein Farbverlauf verwendet.

Siehe auch type().

Dokumentation der Mitgliedsfunktionen

QGradient::QGradient(QGradient::Preset preset)

Erzeugt einen Farbverlauf auf der Grundlage eines vordefinierten preset.

Der Koordinatenmodus des resultierenden Farbverlaufs ist „ QGradient::ObjectMode “, wodurch die Voreinstellung auf beliebige Objektgrößen angewendet werden kann.

QGradient::CoordinateMode QGradient::coordinateMode() const

Gibt den Koordinatenmodus dieses Farbverlaufs zurück. Der Standardmodus ist „ LogicalMode “.

Siehe auch „ setCoordinateMode()“.

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

Erzeugt einen Haltepunkt an der angegebenen Koordinate ` position ` mit dem angegebenen Winkel ` color`. Der angegebene Winkel ` position ` muss im Bereich von 0 bis 1 liegen.

Siehe auch setStops() und stops().

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

Legt den Koordinatenmodus dieses Farbverlaufs auf „ mode “ fest. Der Standardmodus ist „ LogicalMode “.

Siehe auch „ coordinateMode()“.

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

Legt den für diesen Farbverlauf zu verwendenden Spread- method fest.

Beachten Sie, dass diese Funktion nur bei linearen und radialen Farbverläufen wirksam ist.

Siehe auch ` spread()`.

void QGradient::setStops(const QGradientStops &stopPoints)

Ersetzt die aktuellen Haltepunkte durch die angegebenen stopPoints. Die Positionen der Punkte müssen im Bereich von 0 bis 1 liegen und so sortiert sein, dass der niedrigste Punkt an erster Stelle steht.

Siehe auch „ setColorAt()“ und „ stops()“.

QGradient::Spread QGradient::spread() const

Gibt die von diesem Gradienten verwendete Spread-Methode zurück. Der Standardwert ist „ PadSpread “.

Siehe auch ` setSpread()`.

QGradientStops QGradient::stops() const

Gibt die Haltepunkte für diesen Farbverlauf zurück.

Wenn keine Haltepunkte angegeben wurden, wird ein Farbverlauf von Schwarz bei 0 bis Weiß bei 1 verwendet.

Siehe auch setStops() und setColorAt().

QGradient::Type QGradient::type() const

Gibt den Typ des Farbverlaufs zurück.

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

Gibt „ true “ zurück, wenn der Gradient mit dem anderen angegebenen „ gradient “ übereinstimmt; andernfalls wird „ false “ zurückgegeben.

Siehe auch „ operator==()“.

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

Gibt „ true “ zurück, wenn der Gradient mit dem anderen angegebenen „ gradient “ übereinstimmt; andernfalls wird „ false “ zurückgegeben.

Siehe auch operator!=().

Verwandte Nicht-Mitglieder

QGradientStop

Typedef für std::pair<qreal, QColor>.

QGradientStops

Typedef für 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.