QRadialGradient Class

QRadialGradient 类与QBrush 结合使用,用于指定径向渐变笔刷。更多

Header: #include <QRadialGradient>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui
继承: QGradient

公共函数

QRadialGradient()
QRadialGradient(const QPointF &center, qreal radius)
QRadialGradient(const QPointF &center, qreal radius, const QPointF &focalPoint)
QRadialGradient(qreal cx, qreal cy, qreal radius)
QRadialGradient(const QPointF &center, qreal centerRadius, const QPointF &focalPoint, qreal focalRadius)
QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy)
QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius)
QPointF center() const
qreal centerRadius() const
QPointF focalPoint() const
qreal focalRadius() const
qreal radius() const
void setCenter(const QPointF &center)
void setCenter(qreal x, qreal y)
void setCenterRadius(qreal radius)
void setFocalPoint(const QPointF &focalPoint)
void setFocalPoint(qreal x, qreal y)
void setFocalRadius(qreal radius)
void setRadius(qreal radius)

详细说明

Qt 支持简单径向渐变和扩展径向渐变。

简单径向渐变在焦点和其周围圆上的端点之间插入颜色。扩展径向渐变在焦点圆和中心圆之间插值。两个圆所定义的锥体外的点将是透明的。对于简单径向渐变,焦点会被调整为位于中心圆内,而在扩展径向渐变中,焦点可以位于任何位置。

端点外的渐变将根据当前设置的spread 方法进行填充、反射或重复:

渐变中的颜色是使用QGradientStop 类型的停止点定义的,即一个位置和一种颜色。使用QGradient::setColorAt() 或QGradient::setStops() 函数定义停止点。梯度的整套停止点描述了梯度区域的填充方式。如果没有指定停止点,则会使用从 0 到 1 的黑白渐变。

除了继承自QGradient 的函数外,QRadialGradient 类还提供了center(),focalPoint() 和radius() 函数,分别返回梯度的中心、焦点和半径。

另请参阅 QLinearGradient,QConicalGradient, 和梯度示例

成员函数文档

QRadialGradient::QRadialGradient()

构建一个简单的径向梯度,中心和焦点位于(0,0),半径为 1。

QRadialGradient::QRadialGradient(const QPointF &center, qreal radius)

以给定的center,radius 和位于圆心的焦点构建简单的径向梯度。

另请参阅 QGradient::setColorAt() 和QGradient::setStops() 。

QRadialGradient::QRadialGradient(const QPointF &center, qreal radius, const QPointF &focalPoint)

使用给定的centerradiusfocalPoint 构建简单的径向梯度。

注: 如果给定的焦点在center 点和radius 定义的圆之外,它将被重新调整为位于圆上与centerfocalPoint 的直线相交的一点。

另请参见 QGradient::setColorAt() 和QGradient::setStops()。

QRadialGradient::QRadialGradient(qreal cx, qreal cy, qreal radius)

构建一个简单的径向梯度,圆心位于 (cx,cy) 并指定radius 。焦点位于圆心。

另请参阅 QGradient::setColorAt() 和QGradient::setStops() 。

QRadialGradient::QRadialGradient(const QPointF &center, qreal centerRadius, const QPointF &focalPoint, qreal focalRadius)

用给定的center,centerRadius,focalPoint, 和focalRadius 构建扩展径向梯度。

QRadialGradient::QRadialGradient(qreal cx, qreal cy, qreal radius, qreal fx, qreal fy)

以给定的中心 (cx,cy),radius 和焦点 (fx,fy) 构建简单的径向梯度。

注: 如果给定的焦点在中心 (cx,cy) 和radius 定义的圆之外,则将重新调整为中心到焦点的直线与圆的交点。

另请参阅 QGradient::setColorAt() 和QGradient::setStops()。

QRadialGradient::QRadialGradient(qreal cx, qreal cy, qreal centerRadius, qreal fx, qreal fy, qreal focalRadius)

以给定的中心 (cx,cy) 、中心半径centerRadius 、焦点 (fx,fy) 和焦点半径focalRadius 构建扩展径向梯度。

QPointF QRadialGradient::center() const

以逻辑坐标返回该径向梯度的中心点。

另请参阅 setCenter() 和QGradient::stops()。

qreal QRadialGradient::centerRadius() const

以逻辑坐标形式返回该径向梯度的中心半径。

另请参阅 setCenterRadius() 和QGradient::stops()。

QPointF QRadialGradient::focalPoint() const

以逻辑坐标返回该径向梯度的焦点。

另请参阅 setFocalPoint() 和QGradient::stops()。

qreal QRadialGradient::focalRadius() const

以逻辑坐标形式返回该径向梯度的焦点半径。

另请参阅 setFocalRadius() 和QGradient::stops()。

qreal QRadialGradient::radius() const

以逻辑坐标形式返回该径向梯度的半径。

等同于centerRadius()

另请参阅 setRadius() 和QGradient::stops()。

void QRadialGradient::setCenter(const QPointF &center)

将此径向梯度的逻辑坐标中心设置为center

另请参阅 center() 。

void QRadialGradient::setCenter(qreal x, qreal y)

这是一个重载函数。

将此径向梯度的中心设置为逻辑坐标 (x,y)。

另请参见 center().

void QRadialGradient::setCenterRadius(qreal radius)

用逻辑坐标将此径向梯度的中心半径设置为radius

另请参见 centerRadius()。

void QRadialGradient::setFocalPoint(const QPointF &focalPoint)

用逻辑坐标将此径向梯度的焦点设置为focalPoint

另请参阅 focalPoint() 。

void QRadialGradient::setFocalPoint(qreal x, qreal y)

这是一个重载函数。

将此径向梯度的焦点设置为逻辑坐标 (x,y)。

另请参见 focalPoint().

void QRadialGradient::setFocalRadius(qreal radius)

用逻辑坐标将此径向梯度的焦点半径设置为radius

另请参见 focalRadius()。

void QRadialGradient::setRadius(qreal radius)

用逻辑坐标将此径向梯度的半径设置为radius

等同于setCenterRadius()

另请参见 radius().

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