QGradient Class

QGradient クラスは、QBrush と組み合わせて、グラデーション塗りつぶしを指定するために使用します。詳細...

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

QConicalGradient, QLinearGradient, and QRadialGradient

パブリック型

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 タイプの停止点、つまり位置と色を使って定義されます。1つのストップ・ポイントを定義するには、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 enumは3つの異なるメソッドを定義しています:

setSpread()関数は、線形グラデーションと放射状グラデーションに対してのみ有効であることに注意。その理由は、円錐勾配は定義上閉じているからである。つまり、円錐勾配は0度から360度までの円全体を埋めるが、放射状勾配や直線勾配の境界は、それぞれ半径や最終停止点を通して指定することができる。

グラデーション座標は、論理座標、デバイス座標に対する相対座標、またはオブジェクトのバウンディングボックス座標に対する相対座標で指定できます。coordinate modesetCoordinateMode() 関数で設定できます。デフォルトはLogicalMode で、グラデーション座標はオブジェクト座標と同じ方法で指定されます。現在設定されているcoordinate mode を取得するにはcoordinateMode() を使用します。

The Gradients ExampleおよびQBrushも参照してください

メンバ型ドキュメント

enum QGradient::CoordinateMode

この列挙型は、グラデーション座標が、グラデーションが使用されるペイントデバイスにどのようにマッピングされるかを指定します。

定数説明
QGradient::LogicalMode0これはデフォルトモードである。グラデーション座標は、オブジェクト座標と同様に論理空間で指定されます。
QGradient::ObjectMode3このモードでは、グラデーション座標は描画されるオブジェクトの外接矩形からの相対座標となり、オブジェクトの外接矩形の左上隅を(0,0)、右下隅を(1,1)とします。この値は Qt 5.12 で追加されました。
QGradient::StretchToDeviceMode1このモードでは、グラデーション座標はペイント・デバイスの外接矩形からの相対座標となり、(0,0)はペイント・デバイスの左上隅、(1,1)は右下隅となります。
QGradient::ObjectBoundingMode2このモードは ObjectMode と同じですが、{QBrush::transform()} {ブラシ変換} がある場合は、オブジェクト空間ではなく論理空間に対して相対的に適用されます。この列挙値は非推奨であり、新しいコードでは使用しないでください。

enum QGradient::Preset

この enum は、https://webgradients.com/ からのグラデーションに基づいて、QGradient のための事前定義されたプリセットのセットを指定します

定数
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

グラデーション領域の外側の領域をどのように塗りつぶすかを指定します。

定数説明
QGradient::PadSpread0領域は最も近いストップカラーで塗りつぶされる。これはデフォルトです。
QGradient::RepeatSpread2グラデーションはグラデーション領域の外側で繰り返されます。
QGradient::ReflectSpread1グラデーションはグラデーション領域の外側に反映されます。

spread() およびsetSpread()も参照

enum QGradient::Type

グラデーションの種類を指定します。

定数説明
QGradient::LinearGradient0始点と終点間の色を補間します (QLinearGradient)。
QGradient::RadialGradient1中心点とそれを囲む円上の端点間の色を補間します (QRadialGradient)。
QGradient::ConicalGradient2中心点を中心に色を補間します (QConicalGradient)。
QGradient::NoGradient3グラデーションは使わない。

type()も参照

メンバ関数ドキュメント

QGradient::QGradient(QGradient::Preset preset)

事前に定義されたpreset に基づいてグラデーションを構築します。

生成されるグラデーションの座標モードはQGradient::ObjectMode で、 プリセットを任意のオブジェクトサイズに適用することができます。

QGradient::CoordinateMode QGradient::coordinateMode() const

このグラデーションの座標モードを返します。デフォルトモードはLogicalMode です。

setCoordinateMode()も参照して ください。

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

与えられたcolor で、与えられたposition に停止点を作成します。与えられた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

QPair<qreal,QColor> 用の型定義。

QGradientStops

QList<QGradientStop> の Typedef。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 ここで提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。