이 페이지에서

QCanvasBoxShadow Class

QCanvasBoxShadow는 직사각형 그림자나 광효퀘를 그리는 데 사용하는 브러시입니다. 더 보기...

헤더: #include <QCanvasBoxShadow>
CMake: find_package(Qt6 REQUIRED COMPONENTS CanvasPainter)
target_link_libraries(mytarget PRIVATE Qt6::CanvasPainter)
다음부터: Qt 6.11

공개 함수

QCanvasBoxShadow()
QCanvasBoxShadow(const QRectF &rect)
QCanvasBoxShadow(qreal x, qreal y, qreal width, qreal height)
QCanvasBoxShadow(QCanvasBoxShadow &&)
qreal blur() const
qreal bottomLeftRadius() const
qreal bottomRightRadius() const
QRectF boundingRect() const
QColor color() const
qreal radius() const
QRectF rect() const
void setBlur(qreal blur)
void setBottomLeftRadius(qreal radius)
void setBottomRightRadius(qreal radius)
void setColor(QColor color)
void setRadius(qreal radius)
void setRect(qreal x, qreal y, qreal width, qreal height)
void setRect(const QRectF &rect)
void setSpread(qreal spread)
void setTopLeftRadius(qreal radius)
void setTopRightRadius(qreal radius)
qreal spread() const
qreal topLeftRadius() const
qreal 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 box-shadow와 유사합니다. 렌더링 결과도 CSS box-shadow와 일치하지만, QCanvasBoxShadow의 성능을 최대한 높이기 위해 몇 가지 주목할 만한 차이점이 있습니다. 블러 효과는 CSS box-shadow 구현에서 흔히 사용하는 가우시안 블러 대신 셰이더 내에서 수학적으로 계산됩니다. 이로 인해 특히 블러 양이 그림자의 너비 또는 높이의 절반을 초과할 때 그림자의 모양이 약간 다르게 보입니다.

다음은 Chrome 브라우저에서 QCanvasBoxShadow와 CSS box-shadow의 렌더링 결과를 비교한 스크린샷입니다. 이 스크린샷들은 블러 반경이 0, 10, 20, 40 픽셀일 때 작은 그림자에 어떤 영향을 미치는지 보여줍니다.

CSS box-shadow:

CSS box-shadow의 블러 값이 0, 10, 20, 40 픽셀인 검은색 막대와 검은색 점이 나란히 배치된 모습

QCanvasBoxShadow:

QCanvasBoxShadow의 블러 값이 0, 10, 20, 40 픽셀인 검은색 막대와 검은색 점이 나란히 배열된 모습

멤버 함수 문서

QCanvasBoxShadow::QCanvasBoxShadow()

기본 상자 그림자를 생성합니다. 상자 그림자의 위치는 (0, 0)이고 크기는 (100, 100)입니다. 그림자 모서리 반경은 0.0 이고 블러는 0.0 입니다. 그림자 색상은 Qt::black 입니다.

[explicit] QCanvasBoxShadow::QCanvasBoxShadow(const QRectF &rect)

rect 위치에 모서리 반경이나 블러 효과 없이 검은색 상자 그림자를 생성합니다.

QCanvasBoxShadow::QCanvasBoxShadow(qreal x, qreal y, qreal width, qreal height)

x, y 위치와 width, height 크기를 가진 박스 그림자를 생성합니다.

blur() 및 radius()도 참조하십시오 .

[constexpr noexcept default] QCanvasBoxShadow::QCanvasBoxShadow(QCanvasBoxShadow &&)

QCanvasBoxShadow 의 인스턴스를 move 생성합니다.

qreal QCanvasBoxShadow::blur() const

섀도우 박스의 블러 효과를 반환합니다.

setBlur()도 참조하십시오 .

qreal QCanvasBoxShadow::bottomLeftRadius() const

섀도우 박스의 왼쪽 하단 모서리 반지름을 반환합니다. 이 값이 ` -1`일 경우, 섀도우를 그릴 때 이 모서리에 대해 ` radius()`의 값이 사용됩니다. 기본값은 ` -1`입니다.

setBottomLeftRadius()도 참조하십시오 .

qreal 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()도 참조하십시오 .

qreal QCanvasBoxShadow::radius() const

섀도우 박스의 반지름을 반환합니다.

setRadius()도 참조하십시오 .

QRectF QCanvasBoxShadow::rect() const

섀도우 박스의 직사각형 영역을 반환합니다.

setRect()도 참조하십시오 .

void QCanvasBoxShadow::setBlur(qreal blur)

그림자 블러를 픽셀 단위로 blur 로 설정합니다. 기본값은 0.0 이며, 이는 블러가 적용되지 않음을 의미합니다.

blur()도 참조하십시오 .

void QCanvasBoxShadow::setBottomLeftRadius(qreal radius)

왼쪽 하단 모서리의 반경을 radius 로 설정합니다. 기본값은 -1 이며, 이는 해당 모서리에 대해 개별 반경이 설정되지 않았음을 의미하며, 대신 공통 반경 radius()이 사용됩니다.

bottomLeftRadius()도 참조하십시오 .

void QCanvasBoxShadow::setBottomRightRadius(qreal radius)

오른쪽 하단 모서리의 반지름을 ` radius`로 설정합니다. 기본값은 ` -1 `이며, 이는 해당 모서리에 대한 개별 반지름이 설정되지 않았음을 의미하며, 대신 공통 반지름 ` radius()`이 사용됩니다.

bottomRightRadius()도 참조하십시오 .

void QCanvasBoxShadow::setColor(QColor color)

그림자 색상을 color 로 설정합니다. 기본값은 불투명도가 100%인 검은색입니다.

color()도 참조하십시오 .

void QCanvasBoxShadow::setRadius(qreal radius)

그림자 모서리 반경을 픽셀 단위로 radius 로 설정합니다. 기본값은 0.0 이며, 이는 반경이 없음을 의미합니다.

radius()도 참조하십시오 .

void QCanvasBoxShadow::setRect(qreal x, qreal y, qreal width, qreal height)

섀도우 박스의 직사각형 영역을 (x, y, width, height)로 설정합니다.

rect()도 참조하십시오 .

void QCanvasBoxShadow::setRect(const QRectF &rect)

섀도우 박스의 사각형 영역을 rect 로 설정합니다.

이 함수는 오버로드된 함수입니다.

void QCanvasBoxShadow::setSpread(qreal spread)

그림자 확산을 픽셀 단위로 spread 로 설정합니다. 기본값은 0.0 이며, 이는 확산이 없음을 의미합니다.

spread()도 참조하십시오 .

void QCanvasBoxShadow::setTopLeftRadius(qreal radius)

왼쪽 상단 모서리의 반지름을 ` radius`로 설정합니다. 기본값은 ` -1 `이며, 이는 해당 모서리에 대한 개별 반지름이 설정되지 않았음을 의미하며, 대신 공통 반지름 ` radius()`이 사용됩니다.

topLeftRadius()도 참조하십시오 .

void QCanvasBoxShadow::setTopRightRadius(qreal radius)

오른쪽 상단 모서리의 반지름을 ` radius`로 설정합니다. 기본값은 ` -1 `이며, 이는 해당 모서리에 대한 개별 반지름이 설정되지 않았음을 의미하며, 대신 공통 반지름 ` radius()`이 사용됩니다.

topRightRadius()도 참조하십시오 .

qreal QCanvasBoxShadow::spread() const

섀도우 박스의 스프레드를 반환합니다.

setSpread()도 참조하십시오 .

qreal QCanvasBoxShadow::topLeftRadius() const

섀도우 박스의 왼쪽 상단 모서리 반지름을 반환합니다. 이 값이 ` -1`일 경우, 섀도우를 그릴 때 이 모서리에 대해 ` radius()`의 값이 사용됩니다. 기본값은 ` -1`입니다.

setTopLeftRadius()도 참조하십시오 .

qreal 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 와 같으면 true 를 반환하고, 그렇지 않으면 false 를 반환합니다.

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.