PySide6.QtGui.QGradient

class QGradient

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

继承自: QRadialGradient, QLinearGradient, QConicalGradient

概要

方法

注意

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

详细描述

警告

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

Qt 目前支持三种类型的渐变填充:

  • 线性 渐变在起点和终点之间插值颜色。

  • 简单径向渐变在焦点和围绕它的圆上的端点之间插值颜色。

  • 扩展径向渐变在中心和焦点圆之间插值颜色。

  • 锥形 渐变围绕中心点插值颜色。

可以使用type()函数来检索渐变的类型。每种类型都由QGradient的子类表示:

渐变中的颜色使用QGradientStop类型的停止点定义;即一个位置和一种颜色。使用setColorAt()函数来定义单个停止点。或者,使用setStops()函数一次性定义多个停止点。请注意,后一个函数替换当前的停止点集合。

这是渐变的完整停止点集(可通过stops()函数访问),它描述了应如何填充渐变区域。如果未指定停止点,则使用从0处的黑色到1处的白色的渐变。

从黑色在 (100, 100) 到白色在 (200, 200) 的对角线性渐变可以这样指定:

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

渐变可以有任意数量的停止点。以下将创建一个径向渐变,从中心的红色开始,然后是蓝色,最后在边缘为绿色:

radialGrad = QRadialGradient(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()函数检索。Spread枚举定义了三种不同的方法:

请注意,setSpread() 函数仅对线性和径向渐变有效。原因是圆锥渐变在定义上是闭合的,即圆锥渐变填充了从0到360度的整个圆,而径向或线性渐变的边界可以通过其半径或最终停止点分别指定。

渐变坐标可以在逻辑坐标、相对于设备坐标或相对于对象边界框坐标中指定。coordinate mode 可以使用 setCoordinateMode() 函数进行设置。默认是 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.大雨

QGradient.AmyCrisp

QGradient.MeanFruit

QGradient.深蓝

QGradient.RipeMalinka

QGradient.CloudyKnoxville

QGradient.MalibuBeach

QGradient.新生活

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.极好的松树

QGradient.纽约

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.大白鲸

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.夏季运动会

QGradient.PassionateBed

QGradient.MountainRock

QGradient.DesertHump

QGradient.JungleDay

QGradient.PhoenixStart

QGradient.十月寂静

QGradient.FarawayRiver

QGradient.炼金术士实验室

QGradient.OverSun

QGradient.PremiumWhite

QGradient.MarsParty

QGradient.永恒不变

QGradient.JapanBlush

QGradient.微笑的雨

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.河城

QGradient.FrozenBerry

QGradient.ChildCare

QGradient.FlyingLemon

QGradient.NewRetrowave

QGradient.HiddenJaguar

QGradient.AboveTheSky

QGradient.Nega

QGradient.DenseWater

QGradient.Seashore

QGradient.大理石墙

QGradient.欢快的焦糖

QGradient.NightSky

QGradient.MagicLake

QGradient.YoungGrass

QGradient.彩色桃

QGradient.GentleCare

QGradient.PlumBath

QGradient.HappyUnicorn

QGradient.AfricanField

QGradient.SolidStone

QGradient.橙汁

QGradient.GlassWater

QGradient.NorthMiracle

QGradient.FruitBlend

QGradient.千年松

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__(preset)
Parameters:

预设Preset

基于预定义的preset构建一个渐变。

生成的渐变的坐标模式是ObjectMode,允许预设应用于任意对象大小。

coordinateMode()
Return type:

CoordinateMode

返回此渐变的坐标模式。默认模式是LogicalMode

另请参阅

setCoordinateMode()

interpolationMode()
Return type:

InterpolationMode

__ne__(other)
Parameters:

其他QGradient

Return type:

布尔

如果梯度与指定的其他gradient相同,则返回true;否则返回false

另请参阅

operator==()

__eq__(gradient)
Parameters:

渐变QGradient

Return type:

布尔

如果梯度与指定的其他gradient相同,则返回true;否则返回false

另请参阅

operator!=()

setColorAt(pos, color)
Parameters:
  • pos – 浮点数

  • 颜色QColor

在给定的position处创建一个停止点,并使用给定的color。给定的position必须在0到1的范围内。

另请参阅

setStops() stops()

setCoordinateMode(mode)
Parameters:

modeCoordinateMode

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

另请参阅

coordinateMode()

setInterpolationMode(mode)
Parameters:

modeInterpolationMode

setSpread(spread)
Parameters:

spreadSpread

指定应为此渐变使用的扩散method

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

另请参阅

spread()

setStops(stops)
Parameters:

stops – .std.pairqreal,QColor 的列表

用给定的stopPoints替换当前的停止点集。点的位置必须在0到1的范围内,并且必须按最低点在前排序。

另请参阅

setColorAt() stops()

spread()
Return type:

Spread

返回此渐变使用的扩散方法。默认是PadSpread

另请参阅

setSpread()

stops()
Return type:

.std.pairqreal的列表,QColor

返回此渐变的停止点。

如果没有指定停止点,则使用从0处的黑色到1处的白色的渐变。

另请参阅

setStops() setColorAt()

type()
Return type:

类型

返回渐变的类型。