QCanvasBoxShadow Class
QCanvasBoxShadow는 직사각형 그림자/광선을 그리기 위한 브러시입니다. 더 보기...
| Header: | #include <QCanvasBoxShadow> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter) |
| 이후 | Qt 6.11 |
| 상속합니다: | QCanvasBrush |
| Status: | 기술 미리보기 |
공용 함수
| 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 |
관련 비회원
| 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) |
상세 설명
QCanvasBoxShadow는 블러가 적용된 둥근 직사각형 브러시입니다. QCanvasBoxShadow의 성능은 SDF 방식을 사용하기 때문에 모든 모양의 항목에 흐린 그림자/광선을 만드는 일반 그림자보다 훨씬 뛰어납니다.
QCanvasBoxShadow의 기능은 반경, 확산, 흐림 및 색상 값 등 CSS 상자 그림자와 유사합니다. 렌더링 출력도 CSS 상자 그림자와 일치하지만 QCanvasBoxShadow를 최대한 고성능으로 만들기 위해 몇 가지 눈에 띄는 차이점이 있습니다. CSS 상자 그림자 구현에서 자주 사용하는 가우시안 블러를 사용하지 않고 셰이더에서 수학적으로 블러를 계산합니다. 따라서 그림자가 약간 다르게 보이며, 특히 그림자 폭/높이의 절반보다 블러 양이 커질 때 더욱 그렇습니다.
다음은 Chrome 브라우저에서 QCanvasBoxShadow와 CSS 상자 그림자의 렌더링 출력을 비교한 스크린샷입니다. 0, 10, 20, 40 픽셀의 흐림 반경이 작은 그림자에 어떤 영향을 미치는지 보여줍니다.
CSS 상자 그림자:

QCanvasBoxShadow:

멤버 함수 문서
QCanvasBoxShadow::QCanvasBoxShadow()
기본 상자 그림자를 만듭니다. 상자 그림자 위치는 (0, 0), 크기는 (100, 100)입니다. 그림자 모서리 반경은 0.0 및 흐림 0.0 입니다. 그림자 색은 Qt::black 입니다.
QCanvasBoxShadow::QCanvasBoxShadow(const QRectF &rect, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black)
상자 그림자를 만듭니다. 상자 그림자 위치와 크기는 rect 로 정의됩니다. 그림자 모서리 반경은 radius 및 흐림 blur 입니다. 그림자 색은 color 입니다.
QCanvasBoxShadow::QCanvasBoxShadow(float x, float y, float width, float height, float radius = 0.0f, float blur = 0.0f, const QColor &color = QColorConstants::Black)
상자 그림자를 만듭니다. 상자 그림자 위치는 x, y 이며 크기는 width, height 입니다. 그림자 모서리 반경은 radius, 흐림 blur 입니다. 그림자 색은 color 입니다.
float QCanvasBoxShadow::blur() const
그림자 상자의 흐림을 반환합니다.
setBlur()도 참조하세요 .
float QCanvasBoxShadow::bottomLeftRadius() const
그림자 상자의 왼쪽 하단 반경을 반환합니다. 이 값이 -1 인 경우 그림자를 그릴 때 이 모서리에 radius() 값을 사용합니다. 기본값은 -1 입니다.
setBottomLeftRadius()도 참조하세요 .
float QCanvasBoxShadow::bottomRightRadius() const
그림자 상자의 오른쪽 하단 반경을 반환합니다. 이 값이 -1 인 경우 그림자를 그릴 때 이 모서리에 radius() 값을 사용합니다. 기본값은 -1 입니다.
setBottomRightRadius()도 참조하세요 .
QRectF QCanvasBoxShadow::boundingRect() const
그림자가 덮은 영역을 반환합니다. 여기에는 그림자 rect(), blur() 및 spread()가 고려됩니다. QCanvasPainter::drawBoxShadow () 헬퍼 메서드를 사용하지 않으려면 올바른 크기의 QCanvasPainter::rect()를 경로에 추가하는 등의 용도로 사용할 수 있습니다.
setRect(), setBlur() 및 setSpread()도 참조하세요 .
QColor QCanvasBoxShadow::color() const
그림자 상자의 색을 반환합니다.
setColor()도 참조하세요 .
float QCanvasBoxShadow::radius() const
그림자 상자의 반지름을 반환합니다.
setRadius()도 참조하십시오 .
QRectF QCanvasBoxShadow::rect() const
그림자 상자의 직사각형 영역을 반환합니다.
setRect()도 참조하세요 .
void QCanvasBoxShadow::setBlur(float blur)
그림자 흐림을 픽셀 단위( blur )로 설정합니다. 기본값은 0.0, 즉 흐림을 사용하지 않습니다.
blur()도 참조하세요 .
void QCanvasBoxShadow::setBottomLeftRadius(float radius)
왼쪽 하단 모서리 반경을 radius 로 설정합니다. 기본값은 -1 으로, 이 모서리에 대한 개별 반경이 설정되지 않았으며 일반적인 radius()가 대신 사용됩니다.
bottomLeftRadius()도 참조하세요 .
void QCanvasBoxShadow::setBottomRightRadius(float radius)
오른쪽 하단 모서리 반경을 radius 로 설정합니다. 기본값은 -1 으로, 이 모서리에 대한 개별 반경이 설정되지 않았으며 대신 일반적인 radius()가 사용됩니다.
bottomRightRadius()도 참조하세요 .
void QCanvasBoxShadow::setColor(const QColor &color)
그림자 색상을 color 으로 설정합니다. 기본값은 전체 불투명도의 검은색입니다.
color()도 참조하세요 .
void QCanvasBoxShadow::setRadius(float radius)
그림자 모서리 반경을 radius (픽셀)로 설정합니다. 기본값은 반경이 없는 0.0 입니다.
radius()도 참조하세요 .
void QCanvasBoxShadow::setRect(float x, float y, float width, float height)
그림자 상자의 직사각형 영역을 (x, y, width, height)로 설정합니다.
rect()도 참조하세요 .
void QCanvasBoxShadow::setRect(const QRectF &rect)
그림자 상자의 직사각형 영역을 rect 로 설정합니다.
이것은 오버로드된 함수입니다.
void QCanvasBoxShadow::setSpread(float spread)
그림자 확산을 spread (픽셀 단위)로 설정합니다. 기본값은 확산이 없는 0.0 입니다.
spread()도 참조하세요 .
void QCanvasBoxShadow::setTopLeftRadius(float radius)
왼쪽 상단 모서리 반경을 radius 로 설정합니다. 기본값은 -1 으로, 이 모서리에 대한 개별 반경이 설정되지 않았으며 일반적인 radius()가 대신 사용됩니다.
topLeftRadius()도 참조하세요 .
void QCanvasBoxShadow::setTopRightRadius(float radius)
오른쪽 상단 모서리 반경을 radius 로 설정합니다. 기본값은 -1 으로 이 모서리에 대한 개별 반경이 설정되지 않았음을 의미하며, 대신 일반적인 radius()가 사용됩니다.
topRightRadius()도 참조하세요 .
float QCanvasBoxShadow::spread() const
그림자 상자의 확산을 반환합니다.
setSpread()도 참조하십시오 .
float QCanvasBoxShadow::topLeftRadius() const
그림자 상자의 왼쪽 상단 반경을 반환합니다. 이 값이 -1 인 경우 그림자를 그릴 때 이 모서리에 radius() 값을 사용합니다. 기본값은 -1 입니다.
setTopLeftRadius()도 참조하세요 .
float QCanvasBoxShadow::topRightRadius() const
그림자 상자의 오른쪽 상단 반경을 반환합니다. 이 값이 -1 인 경우 그림자를 그릴 때 이 모서리에 radius() 값을 사용합니다. 기본값은 -1 입니다.
setTopRightRadius()도 참조하세요 .
관련 비회원
[noexcept] bool operator!=(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs)
상자 그림자 lhs 가 rhs 와 다르면 true 를 반환하고, 그렇지 않으면 false 을 반환합니다.
operator==()도 참조하세요 .
QDataStream &operator<<(QDataStream &stream, const QCanvasBoxShadow &shadow)
주어진 shadow 을 주어진 stream 에 쓰고 stream 에 대한 참조를 반환합니다.
Qt 데이터형 직렬화도참조하십시오 .
[noexcept] bool operator==(const QCanvasBoxShadow &lhs, const QCanvasBoxShadow &rhs)
상자 그림자 lhs 가 rhs; false 그렇지 않으면 true 을 반환합니다.
operator!=()도 참조하세요 .
QDataStream &operator>>(QDataStream &stream, QCanvasBoxShadow &shadow)
주어진 stream 에서 주어진 shadow 을 읽고 stream 에 대한 참조를 반환합니다.
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.