class QGradient#

QGradient 类与 QBrush 结合使用,以指定渐变填充。更多...

继承自: QRadialGradientQLinearGradientQConicalGradient

概要#

方法#

注意

此文档可能包含从C++自动翻译成Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建一个工单来通知我们。

详细说明#

警告

本节包含从C++自动翻译到Python的片段,可能包含错误。

Qt currently supports three types of gradient fills

  • Linear gradients interpolate colors between start and end points.

  • Simple radial gradients interpolate colors between a focal point and end points on a circle surrounding it.

  • Extended radial gradients interpolate colors between a center and a focal circle.

  • Conical gradients interpolate colors around a center point.

A gradient’s type can be retrieved using the type() function. Each of the types is represented by a subclass of QGradient

A gradient's colors are defined using the no-stops of the QGradientStop type; i.e., a position and a color. the setColorAt() function is to define a single stop point. Alternatively, the setStops() function is used to define multiple stop points at once. Note that the latter function replaces the current set of stop points.

The complete set of stop points of the gradient (accessible through the stops() function) describes how the gradient area should be filled. If no stop points have been specified, a gradient from black at 0 to white at 1 is used.

A diagonal linear gradient from black at (100, 100) to white at (200, 200) could be specified like this

linearGrad = QLinearGradient(QPointF(100, 100), QPointF(200, 200))
linearGrad.setColorAt(0, Qt.black)
linearGrad.setColorAt(1, Qt.white)

A gradient can have an arbitrary number of stop points. The following would create a radial gradient starting with red in the center, blue and then green on the edges

radialGrad = QRadialGradient(QPointF(100, 100), 100)
radialGrad.setColorAt(0, Qt.red)
radialGrad.setColorAt(0.5, Qt.blue)
radialGrad.setColorAt(1, Qt.green)

可以通过使用 spread 方法 并调用 setSpread() 函数来指定重复或反射渐变范围之外的区域。默认情况下,将使用最接近的停止点颜色填充外部区域。可以使用 spread() 函数检索当前设置的 spread 方法。枚举 Spread 定义了三种不同的方法。

需要注意的是,setSpread() 函数只适用于线性渐变和辐射渐变。原因在于锥形渐变按定义是封闭的,即 锥形 渐变从 0 - 360 度填充整个圆,而辐射或线性渐变的边界可以通过其半径或最终的停止点指定。

渐变坐标可以用逻辑坐标、相对于设备坐标或相对于对象边界框坐标来指定。可以使用 setCoordinateMode() 函数设置 coordinate mode。默认为LogicalMode,其中渐变坐标以与对象坐标相同的方式指定。要检索当前设置的 coordinate mode,请使用 coordinateMode()

另请参阅

QBrush

class Type#

指定渐变的类型。

常数

描述

QGradient.LinearGradient

在起点和终点之间插值颜色( QLinearGradient )。

QGradient.RadialGradient

在焦点和围绕该焦点的圆的终点之间插值颜色( QRadialGradient )。

QGradient.ConicalGradient

在中心点周围插值颜色( QConicalGradient )。

QGradient.NoGradient

不使用渐变。

另请参阅

type()

class Spread#

指定如何在渐变区域外的区域进行填充。

常数

描述

QGradient.PadSpread

区域用最接近的停止颜色进行填充。这是默认值。

QGradient.RepeatSpread

将渐变在渐变区域外重复。

QGradient.ReflectSpread

将在渐变区域外反映渐变。

另请参阅

spread() setSpread()

class CoordinateMode#

此枚举指定渐变坐标如何映射到使用渐变的绘制设备。

常数

描述

QGradient.LogicalMode

这是默认模式。渐变坐标在逻辑空间中指定,就像对象坐标一样。

QGradient.ObjectMode

在此模式下,渐变坐标相对于正在绘制的对象的边界矩形,其中 (0,0) 位于对象的边界矩形的左上角,而 (1,1) 位于对象的边界矩形的右下角。此值是在 Qt 5.12 中添加的。

QGradient.StretchToDeviceMode

在此模式下,渐变坐标相对于绘制设备的边界矩形,其中 (0,0) 位于绘制设备的左上角,而 (1,1) 位于绘制设备的右下角。

QGradient.ObjectBoundingMode

此模式与 ObjectMode 相同,但如果有任何 {transform()} {画笔转换},它将相对于逻辑空间而不是对象空间应用。此枚举值已弃用,不应在新代码中使用。

class InterpolationMode#
class Preset#

此枚举指定了一组 QGradient 的预定义预设,这些预设基于 https://webgradients.com/ 的渐变。

常数

描述

QGradient.WarmFlame

QGradient.NightFade

QGradient.SpringWarmth

QGradient.JuicyPeach

QGradient.YoungPassion

QGradient.LadyLips

QGradient.SunnyMorning

QGradient.RainyAshville

QGradient.FrozenDreams

QGradient.WinterNeva

QGradient.DustyGrass

QGradient.TemptingAzure

QGradient.HeavyRain

QGradient.AmyCrisp

QGradient.MeanFruit

QGradient.DeepBlue

QGradient.RipeMalinka

QGradient.CloudyKnoxville

QGradient.MalibuBeach

QGradient.NewLife

QGradient.TrueSunset

QGradient.MorpheusDen

QGradient.RareWind

QGradient.NearMoon

QGradient.WildApple

QGradient.SaintPetersburg

QGradient.PlumPlate

QGradient.EverlastingSky

QGradient.HappyFisher

QGradient.Blessing

QGradient.SharpeyeEagle

QGradient.LadogaBottom

QGradient.LemonGate

QGradient.ItmeoBranding

QGradient.ZeusMiracle

QGradient.OldHat

QGradient.StarWine

QGradient.HappyAcid

QGradient.AwesomePine

QGradient.NewYork

QGradient.ShyRainbow

QGradient.MixedHopes

QGradient.FlyHigh

QGradient.StrongBliss

QGradient.FreshMilk

QGradient.SnowAgain

QGradient.FebruaryInk

QGradient.KindSteel

QGradient.SoftGrass

QGradient.GrownEarly

QGradient.SharpBlues

QGradient.ShadyWater

QGradient.DirtyBeauty

QGradient.GreatWhale

QGradient.TeenNotebook

QGradient.PoliteRumors

QGradient.SweetPeriod

QGradient.WideMatrix

QGradient.SoftCherish

QGradient.RedSalvation

QGradient.BurningSpring

QGradient.NightParty

QGradient.SkyGlider

QGradient.HeavenPeach

QGradient.PurpleDivision

QGradient.AquaSplash

QGradient.SpikyNaga

QGradient.LoveKiss

QGradient.CleanMirror

QGradient.PremiumDark

QGradient.ColdEvening

QGradient.CochitiLake

QGradient.SummerGames

QGradient.PassionateBed

QGradient.MountainRock

QGradient.DesertHump

QGradient.JungleDay

QGradient.PhoenixStart

QGradient.OctoberSilence

QGradient.FarawayRiver

QGradient.AlchemistLab

QGradient.OverSun

QGradient.PremiumWhite

QGradient.MarsParty

QGradient.EternalConstance

QGradient.JapanBlush

QGradient.SmilingRain

QGradient.CloudyApple

QGradient.BigMango

QGradient.HealthyWater

QGradient.AmourAmour

QGradient.RiskyConcrete

QGradient.StrongStick

QGradient.ViciousStance

QGradient.PaloAlto

QGradient.HappyMemories

QGradient.MidnightBloom

QGradient.Crystalline

QGradient.PartyBliss

QGradient.ConfidentCloud

QGradient.LeCocktail

QGradient.RiverCity

QGradient.FrozenBerry

QGradient.ChildCare

QGradient.FlyingLemon

QGradient.NewRetrowave

QGradient.HiddenJaguar

QGradient.AboveTheSky

QGradient.Nega

QGradient.DenseWater

QGradient.Seashore

QGradient.MarbleWall

QGradient.CheerfulCaramel

QGradient.NightSky

QGradient.MagicLake

QGradient.YoungGrass

QGradient.ColorfulPeach

QGradient.GentleCare

QGradient.PlumBath

QGradient.HappyUnicorn

QGradient.AfricanField

QGradient.SolidStone

QGradient.OrangeJuice

QGradient.GlassWater

QGradient.NorthMiracle

QGradient.FruitBlend

QGradient.MillenniumPine

QGradient.HighFlight

QGradient.MoleHall

QGradient.SpaceShift

QGradient.ForestInei

QGradient.RoyalGarden

QGradient.RichMetal

QGradient.JuicyCake

QGradient.SmartIndigo

QGradient.SandStrike

QGradient.NorseBeauty

QGradient.AquaGuidance

QGradient.SunVeggie

QGradient.SeaLord

QGradient.BlackSea

QGradient.GrassShampoo

QGradient.LandingAircraft

QGradient.WitchDance

QGradient.SleeplessNight

QGradient.AngelCare

QGradient.CrystalRiver

QGradient.SoftLipstick

QGradient.SaltMountain

QGradient.PerfectWhite

QGradient.FreshOasis

QGradient.StrictNovember

QGradient.MorningSalad

QGradient.DeepRelief

QGradient.SeaStrike

QGradient.NightCall

QGradient.SupremeSky

QGradient.LightBlue

QGradient.MindCrawl

QGradient.LilyMeadow

QGradient.SugarLollipop

QGradient.SweetDessert

QGradient.MagicRay

QGradient.TeenParty

QGradient.FrozenHeat

QGradient.GagarinView

QGradient.FabledSunset

QGradient.PerfectBlue

__init__()#
__init__(arg__1)
参数:

arg__1Preset

基于预定义的 preset 构造一个梯度。

结果梯度的坐标模式为 ObjectMode ,允许将预定义的设置应用于任意大小的对象。

coordinateMode()#
返回类型:

CoordinateMode

返回此梯度的坐标模式。默认模式为 LogicalMode

另请参阅

setCoordinateMode()

interpolationMode()#
返回类型:

插值模式

__ne__(other)#
参数:

otherQGradient

返回类型:

bool

如果渐变与指定的其他渐变相同,则返回 true;否则返回 false

另请参阅

operator==()

__eq__(gradient)#
参数:

gradientQGradient

返回类型:

bool

如果渐变与指定的其他渐变相同,则返回 true;否则返回 false

另请参阅

operator!=()

setColorAt(pos, color)#
参数:
  • pos – float

  • colorQColor

在指定的 position 处创建一个具有给定 color 的停止点。给定的 position 必须在 0 到 1 的范围内。

另请参阅

setStops() stops()

setCoordinateMode(mode)#
参数:

modeCoordinateMode

将此渐变的坐标模式设置为 mode。默认模式是 LogicalMode

另请参阅

coordinateMode()

setInterpolationMode(mode)#
参数:

modeInterpolationMode

setSpread(spread)#
参数:

spreadSpread

指定应用于此渐变的扩散 method

请注意,此函数仅对线性渐变和辐射渐变有效。

另请参阅

spread()

setStops(stops)#
参数:

stops – .list of std.pair qreal,QColor

用给定的 stopPoints 替换乘点的当前集合。点的位置必须在0到1的范围内,并且必须按照从最低点开始排序。

另请参阅

setColorAt() stops()

spread()#
返回类型:

扩散

返回此渐变的扩散方法。默认值为 PadSpread .

另请参阅

setSpread()

stops()#
返回类型:

.list of std.pair qreal,QColor

返回此渐变的停顿点。

如果没有指定停顿点,则使用从黑到白渐变的默认值,位置从0到1。

另请参阅

setStops() setColorAt()

type()#
返回类型:

类型

返回渐变类型。