QCanvasBoxGradient Class
QCanvasBoxGradient 是一款用于绘制矩形渐变的画笔。更多内容...
| 标题: | #include <QCanvasBoxGradient> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter) target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 自: | Qt 6.11 |
| 继承自: | QCanvasGradient |
公共函数
| QCanvasBoxGradient() | |
| QCanvasBoxGradient(const QRectF &rect) | |
| QCanvasBoxGradient(qreal x, qreal y, qreal width, qreal height) | |
| QCanvasBoxGradient(const QCanvasBoxGradient &) | |
| QCanvasBoxGradient(QCanvasBoxGradient &&) | |
| ~QCanvasBoxGradient() | |
| qreal | feather() const |
| qreal | radius() const |
| QRectF | rect() const |
| void | setFeather(qreal feather) |
| void | setRadius(qreal radius) |
| void | setRect(qreal x, qreal y, qreal width, qreal height) |
| void | setRect(const QRectF &rect) |
| void | swap(QCanvasBoxGradient &other) |
| QCanvasBoxGradient & | operator=(QCanvasBoxGradient &&) |
| QCanvasBoxGradient & | operator=(const QCanvasBoxGradient &) |
详细说明
盒式渐变会在起始点和终点之间对颜色进行插值,从而生成一个圆角矩形形状的渐变。通过setRadius()和setFeather(),可以控制渐变的圆角程度和柔和度。

以下是一个简单示例:
![]() | |
注意:当 使用 QCanvasBoxGradient 绘制圆角矩形时 ,通常建议使用QCanvasPainter::rect() 而非QCanvasPainter::roundRect(),因为圆角效果源自画笔而非路径。这样可以避免生成额外的顶点,从而提高性能。
成员函数文档
QCanvasBoxGradient::QCanvasBoxGradient()
创建一个默认的框形渐变。渐变位置为 (0, 0),大小为 (100, 100)。渐变羽化值为 10.0。渐变半径为 0.0。
QCanvasBoxGradient::QCanvasBoxGradient(const QRectF &rect)
构建一个矩形渐变。渐变的位置和大小为rect 。渐变羽化值为 10.0,半径为 0.0。
另请参阅 setFeather() 和setRadius()。
QCanvasBoxGradient::QCanvasBoxGradient(qreal x, qreal y, qreal width, qreal height)
创建一个框形渐变。渐变的位置为 (x,y),大小为 (width,height)。渐变羽化值为 10.0,半径为 0.0。
另请参阅 setFeather() 和setRadius()。
[constexpr noexcept default] QCanvasBoxGradient::QCanvasBoxGradient(const QCanvasBoxGradient &)
复制并构造一个QCanvasBoxGradient 实例。
[constexpr noexcept default] QCanvasBoxGradient::QCanvasBoxGradient(QCanvasBoxGradient &&)
通过Move构造一个QCanvasBoxGradient 的实例。
[constexpr noexcept default] QCanvasBoxGradient::~QCanvasBoxGradient()
销毁QCanvasBoxGradient 的实例。
qreal QCanvasBoxGradient::feather() const
返回盒子渐变的羽化效果。
另请参阅 setFeather()。
qreal QCanvasBoxGradient::radius() const
返回盒式渐变的半径。
另请参阅 setRadius()。
QRectF QCanvasBoxGradient::rect() const
返回盒子渐变的矩形面积。
另请参阅 setRect()。
void QCanvasBoxGradient::setFeather(qreal feather)
将框渐变的羽化效果设置为feather 。
另请参阅 feather()。
void QCanvasBoxGradient::setRadius(qreal radius)
将框形渐变的半径设置为radius 。最大半径为rect() 的宽度或高度的一半,以较小者为准。
另请参阅 radius()。
void QCanvasBoxGradient::setRect(qreal x, qreal y, qreal width, qreal height)
将框渐变的矩形位置设置为 (x,y),大小设置为 (width,height)。
另请参阅 rect()。
void QCanvasBoxGradient::setRect(const QRectF &rect)
将框渐变的矩形设置为rect 。
这是一个重载函数。
[noexcept] void QCanvasBoxGradient::swap(QCanvasBoxGradient &other)
将此渐变与other 互换。此操作速度极快,且绝不会失败。
[noexcept default] QCanvasBoxGradient &QCanvasBoxGradient::operator=(QCanvasBoxGradient &&)
将other 通过Move操作赋值给此QCanvasBoxGradient 实例。
[noexcept default] QCanvasBoxGradient &QCanvasBoxGradient::operator=(const QCanvasBoxGradient &)
将other 复制并赋值给此QCanvasBoxGradient 实例。
© 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.
