QGradient Class
QGradient クラスは、QBrush と組み合わせて、グラデーション塗りつぶしを指定するために使用されます。詳細...
| ヘッダー: | #include <QGradient> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 継承元: |
- 継承されたメンバーを含むすべてのメンバーの一覧
- QGradientは、ペイントクラスおよび暗黙的に共有されるクラスの一部です。
パブリック型
| 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 } |
パブリック関数
| 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 |
関連する非メンバー
詳細な説明
Qt は現在、3 種類のグラデーション塗りつぶしをサポートしています:
- 線形グラデーションは、開始点と終了点の間で色を補間します。
- 単純な放射状グラデーションは、焦点と、それを囲む円上の終点との間で色を補間します。
- 拡張放射状グラデーションは、中心と焦点円の間で色を補間します。
- 円錐グラデーションは、中心点を中心に色を補間します。
グラデーションのタイプは、type() 関数を使用して取得できます。各タイプは、QGradient のサブクラスによって表されます:
グラデーション内の色は、QGradientStop 型のストップポイント(位置と色の組み合わせ)を使用して定義されます。単一のストップポイントを定義するには、setColorAt()関数を使用します。あるいは、setStops()関数を使用して、一度に複数のストップポイントを定義することもできます。後者の関数は、現在のストップポイントのセットを上書きすることに注意してください。
グラデーション領域をどのように塗りつぶすかを指定するのは、stops() 関数を通じてアクセスできる、グラデーションのストップポイントの完全なセットです。ストップポイントが指定されていない場合は、0 での黒から 1 での白へのグラデーションが使用されます。
(100, 100) の黒から (200, 200) の白への対角線状の線形グラデーションは、次のように指定できます。
QLinearGradient linearGrad(QPointF(100, 100), QPointF(200, 200));
linearGrad.setColorAt(0, Qt::black);
linearGrad.setColorAt(1, Qt::white);グラデーションには、任意の数のストップポイントを設定できます。以下は、中心が赤、外側に向かって青、そして緑となる放射状のグラデーションを作成する例です:
QRadialGradient radialGrad(QPointF(100, 100), 100);
radialGrad.setColorAt(0, Qt::red);
radialGrad.setColorAt(0.5, Qt::blue);
radialGrad.setColorAt(1, Qt::green);setSpread() 関数を使用してspread method を指定することで、グラデーション領域の外側でグラデーションを繰り返し表示したり、反転させたりすることが可能です。デフォルトでは、外側の領域は最も近いストップポイントの色で埋められます。現在設定されているspread method は、spread() 関数を使用して取得できます。QGradient::Spread 列挙型は、3つの異なる方法を定義しています:
なお、setSpread() 関数は、線形グラデーションおよび放射状グラデーションにのみ効果があります。その理由は、円錐グラデーションは定義上閉じた形状であるためです。つまり、円錐グラデーションは 0 度から 360 度までの円全体を塗りつぶしますが、放射状グラデーションや線形グラデーションの境界は、それぞれ半径や最終ストップポイントによって指定できるからです。
グラデーション座標は、論理座標、デバイス座標を基準とした相対座標、またはオブジェクトのバウンディングボックス座標を基準とした相対座標で指定できます。coordinate mode は、setCoordinateMode()関数を使用して設定できます。デフォルトはLogicalMode であり、この場合、グラデーション座標はオブジェクト座標と同じ方法で指定されます。現在設定されているcoordinate mode を取得するには、coordinateMode()を使用します。
「グラデーションの例」および「QBrush 」も参照してください 。
メンバ型のドキュメント
enum QGradient::CoordinateMode
この列挙型は、グラデーションの座標が、そのグラデーションが使用される描画デバイス上でどのようにマッピングされるかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QGradient::LogicalMode | 0 | これがデフォルトのモードです。グラデーション座標は、オブジェクト座標と同様に論理空間で指定されます。 |
QGradient::ObjectMode | 3 | このモードでは、グラデーション座標は、描画されるオブジェクトの境界矩形を基準とし、オブジェクトの境界矩形の左上隅を (0,0)、右下隅を (1,1) とします。この値は Qt 5.12 で追加されました。 |
QGradient::StretchToDeviceMode | 1 | このモードでは、グラデーション座標はペイントデバイスのバウンディング矩形を基準とし、(0,0)はペイントデバイスの左上隅、(1,1)は右下隅に位置します。 |
QGradient::ObjectBoundingMode | 2 | このモードは ObjectMode と同じですが、{QBrush::transform()} {brush transform}(存在する場合)が、オブジェクト空間ではなく論理空間を基準として適用される点が異なります。この列挙型値は非推奨となっており、新しいコードでは使用しないでください。 |
enum QGradient::Preset
この列挙型は、https://webgradients.com/ に掲載されているグラデーションに基づいて、QGradient 用の事前定義済みプリセットのセットを指定するものです。
| 定数 | 値 |
|---|---|
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
グラデーション領域の外側の領域をどのように塗りつぶすかを指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QGradient::PadSpread | 0 | その領域は、最も近いストップの色で塗りつぶされます。これがデフォルトの設定です。 |
QGradient::RepeatSpread | 2 | グラデーション領域の外側でグラデーションが繰り返されます。 |
QGradient::ReflectSpread | 1 | グラデーション領域の外側では、グラデーションが反転表示されます。 |
spread() およびsetSpread()も参照してください 。
enum QGradient::Type
グラデーションの種類を指定します。
| 定数 | 値 | 説明 |
|---|---|---|
QGradient::LinearGradient | 0 | 開始点と終了点の間で色を補間します (QLinearGradient)。 |
QGradient::RadialGradient | 1 | 焦点と、それを囲む円上の終点との間で色を補間します (QRadialGradient)。 |
QGradient::ConicalGradient | 2 | 中心点周辺の色を補間します(QConicalGradient )。 |
QGradient::NoGradient | 3 | グラデーションは使用されません。 |
type()も参照してください 。
メンバ関数のドキュメント
QGradient::QGradient(QGradient::Preset preset)
あらかじめ定義されたpreset に基づいてグラデーションを作成します。
生成されるグラデーションの座標モードはQGradient::ObjectMode であり、これにより、プリセットを任意のサイズのオブジェクトに適用することができます。
QGradient::CoordinateMode QGradient::coordinateMode() const
このグラデーションの座標モードを返します。デフォルトのモードは `LogicalMode` です。
setCoordinateMode()も参照してください 。
void QGradient::setColorAt(qreal position, const QColor &color)
指定されたposition に、指定されたcolor を持つストップポイントを作成します。指定されたposition は、0から1の範囲内である必要があります。
setStops() およびstops()も参照してください 。
void QGradient::setCoordinateMode(QGradient::CoordinateMode mode)
このグラデーションの座標モードを「mode 」に設定します。デフォルトのモードは「LogicalMode 」です。
coordinateMode()も参照してください 。
void QGradient::setSpread(QGradient::Spread method)
このグラデーションに使用するスプレッドmethod を指定します。
なお、この関数は線形グラデーションおよび放射状グラデーションにのみ効果があります。
spread()も参照してください 。
void QGradient::setStops(const QGradientStops &stopPoints)
現在のストップポイントのセットを、指定されたstopPoints に置き換えます。各ポイントの位置は0から1の範囲内である必要があり、値が小さい順に並べ替えられている必要があります。
setColorAt() およびstops()も参照してください 。
QGradient::Spread QGradient::spread() const
この勾配で使用されるスプレッド方式を返します。デフォルトは `PadSpread` です。
setSpread()も参照してください 。
QGradientStops QGradient::stops() const
このグラデーションのストップポイントを返します。
ストップポイントが指定されていない場合は、0 で黒、1 で白となるグラデーションが使用されます。
setStops() およびsetColorAt()も参照してください 。
QGradient::Type QGradient::type() const
グラデーションの型を返します。
bool QGradient::operator!=(const QGradient &gradient) const
指定された他のgradient と勾配が同じ場合はtrue を返し、そうでない場合はfalse を返します。
operator==()も参照してください 。
bool QGradient::operator==(const QGradient &gradient) const
指定された他のgradient と勾配が同じ場合はtrue を返し、そうでない場合はfalse を返します。
operator!=()も参照してください 。
関連する非メンバー関数
QGradientStop
std::pair<qreal,QColor> の typedef。
QGradientStops
QList のtypedef <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.





