QCanvasBoxShadow Class
QCanvasBoxShadow es un pincel para pintar sombras rectangulares / brillos. Más...
| Cabecera: | #include <QCanvasBoxShadow> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| Desde: | Qt 6.11 |
| Hereda de: | QCanvasBrush |
| Estado: | Technical Preview |
Funciones públicas
| QCanvasBoxShadow() | |
| QCanvasBoxShadow(const QRectF &rect, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black) | |
| QCanvasBoxShadow(float x, float y, float width, float height, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black) | |
| float | blur() const |
| float | bottomLeftRadius() const |
| float | bottomRightRadius() const |
| QRectF | boundingRect() const |
| QColor | color() const |
| float | radius() const |
| QRectF | rect() const |
| void | setBlur(float blur) |
| void | setBottomLeftRadius(float radius) |
| void | setBottomRightRadius(float radius) |
| void | setColor(const QColor &color) |
| void | setRadius(float radius) |
| void | setRect(float x, float y, float width, float height) |
| void | setRect(const QRectF &rect) |
| void | setSpread(float spread) |
| void | setTopLeftRadius(float radius) |
| void | setTopRightRadius(float radius) |
| float | spread() const |
| float | topLeftRadius() const |
| float | topRightRadius() const |
No miembros relacionados
| bool | operator!=(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs) |
| QDataStream & | operator<<(QDataStream &stream, const QCanvasBoxShadow &shadow) |
| bool | operator==(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs) |
| QDataStream & | operator>>(QDataStream &stream, QCanvasBoxShadow &shadow) |
Descripción Detallada
QCanvasBoxShadow es un pincel de rectángulo redondeado con desenfoque aplicado. El rendimiento de QCanvasBoxShadow es mucho mejor que el de una sombra general que crea una sombra/brillo borroso de cualquier elemento con forma, ya que utiliza el enfoque SDF.
Las características de QCanvasBoxShadow son similares a las de CSS box-shadow, con valores de radio, dispersión, desenfoque y color. La salida de renderizado también coincide con el CSS box-shadow, con pocas diferencias notables para hacer el QCanvasBoxShadow tan alto rendimiento como sea posible. El desenfoque se calcula matemáticamente en el sombreador en lugar de utilizar el desenfoque gaussiano, que las implementaciones de CSS box-shadow utilizan a menudo. Esto hace que la sombra tenga un aspecto ligeramente diferente, especialmente cuando la cantidad de desenfoque supera la mitad de la anchura / altura de la sombra.
Aquí hay capturas de pantalla para comparar la salida de renderizado de QCanvasBoxShadow y CSS box-shadow en el navegador Chrome. Muestran cómo los radios de desenfoque de 0, 10, 20 y 40 píxeles afectan a las sombras más pequeñas.
CSS box-shadow:

QCanvasBoxShadow:

Documentación de la Función Miembro
QCanvasBoxShadow::QCanvasBoxShadow()
Construye una sombra de caja por defecto. La posición de la sombra de caja es (0, 0) y el tamaño (100, 100). El radio de la esquina de la sombra es 0.0 y el desenfoque 0.0. El color de la sombra es Qt::black.
QCanvasBoxShadow::QCanvasBoxShadow(const QRectF &rect, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black)
Construye una sombra de caja. La posición y el tamaño de la sombra de caja se definen en rect. El radio de la esquina de la sombra es radius y el desenfoque blur. El color de la sombra es color.
QCanvasBoxShadow::QCanvasBoxShadow(float x, float y, float width, float height, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black)
Construye una sombra de caja. La posición de la sombra de caja es x, y y el tamaño width, height. El radio de la esquina de la sombra es radius y el desenfoque blur. El color de la sombra es color.
float QCanvasBoxShadow::blur() const
Devuelve el desenfoque de la caja de sombra.
Véase también setBlur().
float QCanvasBoxShadow::bottomLeftRadius() const
Devuelve el radio inferior izquierdo de la caja de sombra. Cuando es -1, el pintado de la sombra utilizará el valor de radius() para esta esquina. El valor por defecto es -1.
Véase también setBottomLeftRadius().
float QCanvasBoxShadow::bottomRightRadius() const
Devuelve el radio inferior derecho de la caja de sombra. Cuando es -1, el pintado de la sombra utilizará el valor de radius() para esta esquina. El valor por defecto es -1.
Véase también setBottomRightRadius().
QRectF QCanvasBoxShadow::boundingRect() const
Devuelve el área cubierta por la sombra. Esto tiene en cuenta la sombra rect(), blur() y spread(). Si no desea utilizar QCanvasPainter::drawBoxShadow() método de ayuda, esto se puede utilizar para, por ejemplo, la adición de tamaño correcto QCanvasPainter::rect() en la ruta.
Véase también setRect(), setBlur() y setSpread().
QColor QCanvasBoxShadow::color() const
Devuelve el color de la caja de sombra.
Véase también setColor().
float QCanvasBoxShadow::radius() const
Devuelve el radio de la caja de sombra.
Véase también setRadius().
QRectF QCanvasBoxShadow::rect() const
Devuelve el área rectangular de la caja de sombra.
Véase también setRect().
void QCanvasBoxShadow::setBlur(float blur)
Establece el desenfoque de la sombra en blur en píxeles. El valor por defecto es 0.0 que significa sin desenfoque.
Véase también blur().
void QCanvasBoxShadow::setBottomLeftRadius(float radius)
Establece el radio de la esquina inferior izquierda en radius. El valor por defecto es -1, lo que significa que no se ha establecido un radio individual para esta esquina, y en su lugar se utiliza radius() común.
Véase también bottomLeftRadius().
void QCanvasBoxShadow::setBottomRightRadius(float radius)
Establece el radio de la esquina inferior derecha en radius. El valor por defecto es -1, lo que significa que no se ha establecido un radio individual para esta esquina, y en su lugar se utiliza radius() común.
Véase también bottomRightRadius().
void QCanvasBoxShadow::setColor(const QColor &color)
Establece el color de la sombra en color. El valor por defecto es negro con opacidad total.
Véase también color().
void QCanvasBoxShadow::setRadius(float radius)
Establece el radio de la esquina de la sombra en radius en píxeles. El valor por defecto es 0.0 que significa sin radio.
Véase también radius().
void QCanvasBoxShadow::setRect(float x, float y, float width, float height)
Establece el área rectangular de la caja de sombra en (x, y, width, height).
Véase también rect().
void QCanvasBoxShadow::setRect(const QRectF &rect)
Establece el área rectangular de la caja de sombra en rect.
Se trata de una función sobrecargada.
void QCanvasBoxShadow::setSpread(float spread)
Establece la dispersión de la sombra en spread en píxeles. El valor por defecto es 0.0 que significa sin dispersión.
Véase también spread().
void QCanvasBoxShadow::setTopLeftRadius(float radius)
Establece el radio de la esquina superior izquierda en radius. El valor por defecto es -1, lo que significa que no se ha establecido un radio individual para esta esquina, y en su lugar se utiliza radius() común.
Véase también topLeftRadius().
void QCanvasBoxShadow::setTopRightRadius(float radius)
Establece el radio de la esquina superior derecha en radius. El valor por defecto es -1, lo que significa que no se ha establecido un radio individual para esta esquina, y en su lugar se utiliza radius() común.
Véase también topRightRadius().
float QCanvasBoxShadow::spread() const
Devuelve la extensión de la caja de sombra.
Véase también setSpread().
float QCanvasBoxShadow::topLeftRadius() const
Devuelve el radio superior izquierdo de la caja de sombra. Cuando es -1, el pintado de la sombra utilizará el valor de radius() para esta esquina. El valor por defecto es -1.
Véase también setTopLeftRadius().
float QCanvasBoxShadow::topRightRadius() const
Devuelve el radio superior derecho de la caja de sombra. Cuando es -1, el pintado de la sombra utilizará el valor de radius() para esta esquina. El valor por defecto es -1.
Véase también setTopRightRadius().
No miembros relacionados
[noexcept] bool operator!=(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs)
Devuelve true si la sombra de caja lhs es diferente de rhs; false en caso contrario.
Véase también operator==().
QDataStream &operator<<(QDataStream &stream, const QCanvasBoxShadow &shadow)
Escribe el shadow dado en el stream dado y devuelve una referencia al stream.
Véase también Serializar tipos de datos Qt.
[noexcept] bool operator==(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs)
Devuelve true si la sombra de caja lhs es igual a rhs; false en caso contrario.
Véase también operator!=().
QDataStream &operator>>(QDataStream &stream, QCanvasBoxShadow &shadow)
Lee el shadow dado del stream dado y devuelve una referencia al stream.
Véase también Serializar tipos de datos Qt.
© 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.