이 페이지에서

QGradient Class

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

헤더: #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 method 는 spread() 함수를 사용하여 확인할 수 있습니다. QGradient::Spread 열거형은 세 가지 다른 방법을 정의합니다:

setSpread() 함수는 선형 및 방사형 그라디언트에만 적용된다는 점에 유의하십시오. 그 이유는 원뿔형 그라디언트가 정의상 닫힌 형태이기 때문입니다. 즉, 원뿔형 그라디언트는 0도에서 360도까지 원 전체를 채우는 반면, 방사형 또는 선형 그라디언트의 경계는 각각 반지름이나 최종 정지점을 통해 지정할 수 있습니다.

그라디언트 좌표는 논리 좌표, 장치 좌표 기준, 또는 객체 바운딩 박스 좌표 기준으로 지정할 수 있습니다. 그라디언트 좌표 체계( coordinate mode )는 ` setCoordinateMode()` 함수를 사용하여 설정할 수 있습니다. 기본값은 ` 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()} {brush transform}이 있는 경우, 객체 공간이 아닌 논리 공간을 기준으로 적용된다는 점이 다릅니다. 이 열거형 값은 더 이상 사용되지 않으며, 새로운 코드에서는 사용해서는 안 됩니다.

enum QGradient::Preset

이 열거형은 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)

지정된 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.