QRadialGradient Class
QRadialGradient 类与QBrush 配合使用,用于指定径向渐变画笔。更多内容...
| 头文件: | #include <QRadialGradient> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
| 继承自: | QGradient |
- 所有成员列表(包括继承的成员)
- QRadialGradient 属于绘图类。
公共函数
| QRadialGradient() | |
| QRadialGradient(const QPointF ¢er, qreal radius) | |
| QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint) | |
| QRadialGradient(qreal cx, qreal cy, qreal radius) | |
| QRadialGradient(const QPointF ¢er, 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 ¢er) |
| 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 ¢er, qreal radius)
根据给定的center 、radius 以及位于圆心处的焦点,构建一个简单的径向渐变。
另请参阅 QGradient::setColorAt() 和QGradient::setStops()。
QRadialGradient::QRadialGradient(const QPointF ¢er, qreal radius, const QPointF &focalPoint)
根据给定的center 、radius 和focalPoint 构建一个简单的径向渐变。
注意:如果 给定的焦点位于由center 点和radius 定义的圆之外,则会将其重新调整为位于该圆上与center 到focalPoint 的连线相交的点上。
另请参阅 QGradient::setColorAt() 和QGradient::setStops()。
QRadialGradient::QRadialGradient(qreal cx, qreal cy, qreal radius)
构建一个简单的径向渐变,其中心位于 (cx,cy),并使用指定的radius 。焦点位于圆的中心。
另请参阅 QGradient::setColorAt() 和QGradient::setStops()。
QRadialGradient::QRadialGradient(const QPointF ¢er, 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 ¢er)
将此径向渐变的中心(以逻辑坐标表示)设置为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()。
© 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.


