QGradient Class

QGradient 클래스는 QBrush 와 함께 그라데이션 채우기를 지정하는 데 사용됩니다. 더 보기...

Header: #include <QGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
에 의해 상속되었습니다:

QConicalGradient, QLinearGradient, 그리고 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는 현재 세 가지 유형의 그라데이션 채우기를 지원합니다:

  • 선형 그라데이션은 시작점과 끝점 사이의 색을 보간합니다.
  • 단순 방사형 그라데이션은 초점과 이를 둘러싼 원의 끝점 사이의 색을 보간합니다.
  • 확장 방사형 그라데이션은 중심과 초점 원 사이의 색상을 보간합니다.
  • 원뿔형 그라데이션은 중심점 주위의 색상을 보간합니다.

그라데이션의 유형은 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 methodspread() 함수를 사용하여 검색할 수 있습니다. QGradient::Spread 열거형은 세 가지 방법을 정의합니다:

setSpread() 함수는 선형 및 방사형 그라데이션에만 적용된다는 점에 유의하세요. 그 이유는 원뿔형 그라데이션은 정의상 닫혀 있기 때문입니다. 즉, 원뿔형 그라데이션은 0~360도까지 원 전체를 채우는 반면 방사형 또는 선형 그라데이션의 경계는 각각 반경 또는 최종 정지점을 통해 지정할 수 있습니다.

그라데이션 좌표는 논리 좌표, 디바이스 좌표 기준 또는 객체 경계 상자 좌표 기준으로 지정할 수 있습니다. coordinate modesetCoordinateMode() 함수를 사용하여 설정할 수 있습니다. 기본값은 LogicalMode 이며, 그라데이션 좌표는 개체 좌표와 동일한 방식으로 지정됩니다. 현재 설정된 coordinate mode 을 검색하려면 coordinateMode()을 사용합니다.

그라데이션 예제QBrush참조하세요 .

멤버 유형 문서

enum QGradient::CoordinateMode

이 열거형은 그라데이션 좌표가 그라데이션이 사용되는 페인트 장치에 매핑되는 방식을 지정합니다.

Constant설명
QGradient::LogicalMode0기본 모드입니다. 그라디언트 좌표는 개체 좌표와 마찬가지로 논리 공간으로 지정됩니다.
QGradient::ObjectMode3이 모드에서 그라데이션 좌표는 그려지는 개체의 경계 직사각형을 기준으로 왼쪽 상단 모서리에 (0,0), 개체 경계 직사각형의 오른쪽 하단 모서리에 (1,1)이 있습니다. 이 값은 Qt 5.12에서 추가되었습니다.
QGradient::StretchToDeviceMode1이 모드에서 그라데이션 좌표는 페인트 장치의 경계 직사각형을 기준으로 왼쪽 상단 모서리에 (0,0), 페인트 장치의 오른쪽 하단 모서리에 (1,1)이 있습니다.
QGradient::ObjectBoundingMode2이 모드는 {QBrush::transform()} {브러시 변환}(있는 경우)이 객체 공간이 아닌 논리 공간을 기준으로 적용된다는 점을 제외하면 ObjectMode와 동일합니다. 이 열거형 값은 더 이상 사용되지 않으므로 새 코드에서 사용해서는 안 됩니다.

enum QGradient::Preset

이 열거형은 https://webgradients.com/ 의 그라데이션을 기반으로 QGradient 에 대한 사전 정의된 사전 설정 집합을 지정합니다.

Constant
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

그라데이션 영역 외부의 영역을 채우는 방법을 지정합니다.

Constant설명
QGradient::PadSpread0가장 가까운 정지색으로 영역이 채워집니다. 이것이 기본값입니다.
QGradient::RepeatSpread2그라데이션 영역 외부에서 그라데이션이 반복됩니다.
QGradient::ReflectSpread1그라데이션이 그라데이션 영역 외부에 반영됩니다.

spread() 및 setSpread()도 참조하세요 .

enum QGradient::Type

그라데이션 유형을 지정합니다.

Constant설명
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>을 입력합니다.

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