Spec-Zone.ru › Qt 6.0

Класс QGradient

Класс QGradient используется совместно с QBrush для задания градиентных заливок. Подробнее...

Заголовок: #include <QGradient>
CMake: find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
Наследуется от:

QConicalGradient, QLinearGradient и QRadialGradient

  • Список всех членов, включая унаследованные

Типы

Перечисление CoordinateMode { LogicalMode, ObjectMode, StretchToDeviceMode, ObjectBoundingMode }
Перечисление Preset { WarmFlame, NightFade, SpringWarmth, JuicyPeach, YoungPassion, …, PerfectBlue }
Перечисление Spread { PadSpread, RepeatSpread, ReflectSpread }
Перечисление 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

Связанные нечлены

QGradientStop
QGradientStops

Подробное описание

Qt в настоящее время поддерживает три типа градиентных заливок:

  • Линейные градиенты интерполируют цвета между начальной и конечной точками.
  • Простые радиальные градиенты интерполируют цвета между фокальной точкой и конечными точками на окружности, окружающей ее.
  • Расширенные радиальные градиенты интерполируют цвета между центром и фокальной окружностью.
  • Конические градиенты интерполируют цвета вокруг центральной точки.

Тип градиента можно получить с помощью функции type(). Каждый из типов представлен подклассом QGradient:

QLinearGradient QRadialGradient QConicalGradient

Цвета в градиенте определяются с помощью точек останова типа 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(). Перечисление QGradient::Spread определяет три различных метода:

PadSpread RepeatSpread ReflectSpread

Обратите внимание, что функция setSpread() имеет эффект только для линейных и радиальных градиентов. Причина в том, что конический градиент по определению замкнут, т.е. *конический* градиент заполняет всю окружность от 0 до 360 градусов, а граница радиального или линейного градиента может быть задана через радиус или конечные точки останова соответственно.

Координаты градиента могут быть заданы в логических координатах, относительных к координатам устройства или относительным к координатам ограничивающей рамки объекта. Режим координат координат можно установить с помощью функции setCoordinateMode(). По умолчанию используется LogicalMode, где координаты градиента задаются так же, как и координаты объекта. Чтобы получить текущий установленный режим координат, используйте 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()} {преобразование кисти}, если таковое имеется, применяется относительно логического пространства, а не пространства объекта. Это значение перечисления устарело и не должно использоваться в новом коде.

[since 5.12] перечисление QGradient::Preset

Это перечисление определяет набор предопределенных предустановок для QGradient, основанных на градиентах с сайта https://webgradients.com/.

Константа Значение
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
END_OF_DOCUMENT_MARKER
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

Этот перечисление был введён или изменён в Qt 5.12.

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().

Документация по функциям-членам

[since 5.12] QGradient::QGradient(QGradient::Preset preset)

Создаёт градиент на основе предопределённого preset.

Режим координат полученного градиента — QGradient::ObjectMode, что позволяет применять предварительно заданные значения к объектам произвольных размеров.

Эта функция была введена в Qt 5.12.

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

Возвращает true если градиент такой же, как и указанный gradient; в противном случае возвращает false.

См. также operator==().

bool QGradient::operator==(const QGradient &gradient) const

Возвращает true если градиент такой же, как и указанный gradient; в противном случае возвращает false.

См. также operator!=().

Связанные нечлены

QGradientStop

Тип-синоним для QPair<qreal, QColor>.

QGradientStops

Тип-синоним для QList<QGradientStop>.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qgradient.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API