QGradient Class
Die Klasse QGradient wird in Kombination mit QBrush verwendet, um Gradientenfüllungen zu spezifizieren. Mehr...
Kopfzeile: | #include <QGradient> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Vererbt von: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QGradient ist Teil der Klassen Painting Classes und Implicitly Shared Classes.
Ö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 |
Verwandte Nicht-Mitglieder
Detaillierte Beschreibung
Qt unterstützt derzeit drei Arten von Gradientenfüllungen:
- Lineare Farbverläufe interpolieren Farben zwischen Start- und Endpunkten.
- Einfache radiale Farbverläufe interpolieren Farben zwischen einem Fokuspunkt 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 mit der Funktion type() abgerufen werden. Jeder der Typen wird durch eine Unterklasse von QGradient dargestellt:
Die Farben in einem Farbverlauf werden durch Haltepunkte des Typs QGradientStop definiert, d. h. durch eine Position und eine Farbe. Verwenden Sie die Funktion setColorAt(), um einen einzelnen Haltepunkt zu definieren. Alternativ können Sie auch 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 Gradienten (zugänglich über die Funktion stops()), der beschreibt, wie der Gradientenbereich gefüllt werden soll. Wenn keine Haltepunkte angegeben wurden, wird ein Farbverlauf von Schwarz bei 0 bis Weiß bei 1 verwendet.
Ein diagonaler linearer Verlauf von Schwarz bei (100, 100) bis Weiß bei (200, 200) könnte so angegeben 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. Die folgende Darstellung würde einen radialen Farbverlauf erzeugen, der in der Mitte mit Rot beginnt und an den Rändern in Blau und Grün übergeht:
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 man spread method mit der Funktion setSpread() angibt. 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() abgefragt werden. Das QGradient::Spread enum definiert drei verschiedene Methoden:
Beachten Sie, dass die Funktion setSpread() nur für lineare und radiale Farbverläufe wirksam ist. Der Grund dafür ist, dass der konische Gradient per Definition geschlossen ist, d. h. der konische Gradient füllt den gesamten Kreis von 0 - 360 Grad aus, während die Grenze eines radialen oder linearen Gradienten durch seinen Radius bzw. seine Endpunkte angegeben werden kann.
Die Gradientenkoordinaten können in logischen Koordinaten, relativ zu den Gerätekoordinaten oder relativ zu den Bounding-Box-Koordinaten des Objekts angegeben werden. Die coordinate mode kann mit der Funktion setCoordinateMode() festgelegt werden. Die Vorgabe ist LogicalMode, wobei die Gradientenkoordinaten auf die gleiche Weise wie die Objektkoordinaten angegeben werden. Um die aktuell eingestellte coordinate mode abzurufen, verwenden Sie coordinateMode().
Siehe auch Das Gradienten-Beispiel und QBrush.
Dokumentation der Mitgliedstypen
enum QGradient::CoordinateMode
Diese Aufzählung gibt an, wie die Koordinaten des Farbverlaufs auf das Malgerät abgebildet werden, auf dem der Farbverlauf verwendet wird.
Konstante | Wert | Beschreibung |
---|---|---|
QGradient::LogicalMode | 0 | Dies ist der Standardmodus. Die Gradientenkoordinaten werden genau wie die Objektkoordinaten im logischen Raum angegeben. |
QGradient::ObjectMode | 3 | In diesem Modus sind die Gradientenkoordinaten relativ zum Begrenzungsrechteck des gezeichneten Objekts, mit (0,0) in der oberen linken Ecke und (1,1) in der unteren rechten Ecke des Begrenzungsrechtecks des Objekts. Dieser Wert wurde in Qt 5.12 hinzugefügt. |
QGradient::StretchToDeviceMode | 1 | In diesem Modus sind die Koordinaten des Farbverlaufs relativ zum Begrenzungsrechteck des Malgeräts, mit (0,0) in der oberen linken Ecke und (1,1) in der unteren rechten Ecke des Malgeräts. |
QGradient::ObjectBoundingMode | 2 | Dieser 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 nicht mehr in neuem Code verwendet werden. |
enum QGradient::Preset
Diese Aufzählung gibt eine Reihe von vordefinierten Voreinstellungen für QGradient an, die auf den Farbverläufen von https://webgradients.com/ basieren.
Konstante | Wert |
---|---|
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
Legt fest, wie der Bereich außerhalb des Verlaufsbereichs gefüllt werden soll.
Konstante | Wert | Beschreibung |
---|---|---|
QGradient::PadSpread | 0 | Der Bereich wird mit der nächstgelegenen Stoppfarbe gefüllt. Dies ist die Standardeinstellung. |
QGradient::RepeatSpread | 2 | Der Farbverlauf wird außerhalb des Farbverlaufsbereichs wiederholt. |
QGradient::ReflectSpread | 1 | Der Farbverlauf wird außerhalb des Farbverlaufsbereichs gespiegelt. |
Siehe auch spread() und setSpread().
enum QGradient::Type
Gibt die Art des Farbverlaufs an.
Konstante | Wert | Beschreibung |
---|---|---|
QGradient::LinearGradient | 0 | Interpoliert Farben zwischen Start- und Endpunkten (QLinearGradient). |
QGradient::RadialGradient | 1 | Interpoliert Farben zwischen einem Brennpunkt und Endpunkten auf einem ihn umgebenden Kreis (QRadialGradient). |
QGradient::ConicalGradient | 2 | Interpoliert Farben um einen Mittelpunkt (QConicalGradient). |
QGradient::NoGradient | 3 | Es wird kein Farbverlauf verwendet. |
Siehe auch type().
Dokumentation der Mitgliedsfunktionen
QGradient::QGradient(QGradient::Preset preset)
Konstruiert einen Farbverlauf auf der Grundlage einer vordefinierten preset.
Der Koordinatenmodus des resultierenden Farbverlaufs ist QGradient::ObjectMode, so dass 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 am angegebenen position mit dem angegebenen color. Die angegebene position muss im Bereich von 0 bis 1 liegen.
Siehe auch setStops() und stops().
void QGradient::setCoordinateMode(QGradient::CoordinateMode mode)
Setzt den Koordinatenmodus dieses Farbverlaufs auf mode. Der Standardmodus ist LogicalMode.
Siehe auch coordinateMode().
void QGradient::setSpread(QGradient::Spread method)
Gibt die Spreizung method an, die für diesen Gradienten verwendet werden soll.
Beachten Sie, dass diese Funktion nur für lineare und radiale Gradienten wirksam ist.
Siehe auch spread().
void QGradient::setStops(const QGradientStops &stopPoints)
Ersetzt den aktuellen Satz von Haltepunkten durch den angegebenen stopPoints. Die Positionen der Punkte müssen im Bereich von 0 bis 1 liegen und mit dem niedrigsten Punkt zuerst sortiert sein.
Siehe auch setColorAt() und stops().
QGradient::Spread QGradient::spread() const
Gibt die von diesem Gradienten verwendete Spreizmethode zurück. Die Vorgabe 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 derselbe ist wie der andere angegebene gradient; andernfalls wird false
zurückgegeben.
Siehe auch operator==().
bool QGradient::operator==(const QGradient &gradient) const
Gibt true
zurück, wenn der Gradient derselbe ist wie der andere angegebene gradient; andernfalls wird false
zurückgegeben.
Siehe auch operator!=().
Verwandte Nicht-Mitglieder
QGradientStop
Typedef für QPair<qreal, QColor>.
QGradientStops
Typedef für QList<QGradientStop>.
© 2025 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.