QBrush Class

QBrush 클래스는 QPainter 에 의해 그려진 도형의 채우기 패턴을 정의합니다. 더 보기...

Header: #include <QBrush>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmake: QT += gui

공용 함수

QBrush()
QBrush(Qt::BrushStyle style)
QBrush(const QGradient &gradient)
QBrush(const QImage &image)
QBrush(const QPixmap &pixmap)
QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)
QBrush(Qt::GlobalColor color, const QPixmap &pixmap)
QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern)
QBrush(const QColor &color, const QPixmap &pixmap)
QBrush(const QBrush &other)
~QBrush()
const QColor &color() const
const QGradient *gradient() const
bool isOpaque() const
void setColor(const QColor &color)
void setColor(Qt::GlobalColor color)
void setStyle(Qt::BrushStyle style)
void setTexture(const QPixmap &pixmap)
void setTextureImage(const QImage &image)
void setTransform(const QTransform &matrix)
Qt::BrushStyle style() const
void swap(QBrush &other)
QPixmap texture() const
QImage textureImage() const
QTransform transform() const
QVariant operator QVariant() const
bool operator!=(const QBrush &brush) const
QBrush &operator=(QBrush &&other)
QBrush &operator=(const QBrush &brush)
bool operator==(const QBrush &brush) const
QDataStream &operator<<(QDataStream &stream, const QBrush &brush)
QDataStream &operator>>(QDataStream &stream, QBrush &brush)

자세한 설명

브러시에는 스타일, 색상, 그라데이션 및 텍스처가 있습니다.

브러시 style()는 Qt::BrushStyle 열거형을 사용하여 채우기 패턴을 정의합니다. 기본 브러시 스타일은 Qt::NoBrush 입니다(브러시 구성 방법에 따라 다름). 이 스타일은 도형을 채우지 않도록 페인터에게 지시합니다. 채우기의 표준 스타일은 Qt::SolidPattern 입니다. 스타일은 적절한 생성자를 사용하여 브러시를 만들 때 설정할 수 있으며, 또한 setStyle() 함수는 브러시가 만들어진 후 스타일을 변경할 수 있는 수단을 제공합니다.

Brush Styles

color() 브러시는 채우기 패턴의 색상을 정의합니다. 색은 Qt XML의 사전 정의된 색인 Qt::GlobalColor 또는 다른 사용자 정의 QColor 중 하나 일 수 있습니다. 현재 설정된 색은 각각 color() 및 setColor() 함수를 사용하여 검색하고 변경할 수 있습니다.

gradient()는 현재 스타일이 Qt::LinearGradientPattern, Qt::RadialGradientPattern 또는 Qt::ConicalGradientPattern 일 때 사용되는 그라데이션 채우기를 정의합니다. 그라데이션 브러시는 QBrush를 생성할 때 생성자 인수로 QGradient 를 지정하여 생성합니다. Qt는 세 가지 그라데이션을 제공합니다: QLinearGradient, QConicalGradient, QRadialGradient - 모두 QGradient 를 상속합니다.

    QRadialGradient gradient(50, 50, 50, 50, 50);
    gradient.setColorAt(0, QColor::fromRgbF(0, 1, 0, 1));
    gradient.setColorAt(1, QColor::fromRgbF(0, 0, 0, 0));

    QBrush brush(gradient);

texture()는 현재 스타일이 Qt::TexturePattern 일 때 사용되는 픽셀맵을 정의합니다. 브러시를 만들 때 픽셀맵을 제공하거나 setTexture()를 사용하여 텍스처가 있는 브러시를 만들 수 있습니다.

setTexture()를 적용하면 이전 스타일 설정에 관계없이 style() == Qt::TexturePattern 이 됩니다. 또한 스타일이 그라데이션인 경우 setColor()를 호출해도 달라지지 않습니다. 현재 텍스처가 QBitmap 이 아니라면 스타일이 Qt::TexturePattern 스타일인 경우에도 마찬가지입니다.

isOpaque() 함수는 브러시가 완전히 불투명하면 true 을 반환하고 그렇지 않으면 false를 반환합니다. 다음과 같은 경우 브러시는 불투명한 것으로 간주됩니다:

  • color()의 알파 성분이 255인 경우.
  • texture()에는 알파 채널이 없으며 QBitmap 이 아닙니다.
  • gradient()의 색은 모두 알파 성분이 255입니다.
윤곽선선과 윤곽선의 스타일과 색상을 지정하려면 QPainterpenQt::PenStyleQt::GlobalColor 을 결합하여 사용합니다:
QPainter painter(this);

painter.setBrush(Qt::cyan);
painter.setPen(Qt::darkCyan);
painter.drawRect(0, 0, 100,100);

painter.setBrush(Qt::NoBrush);
painter.setPen(Qt::darkGreen);
painter.drawRect(40, 40, 100, 100);

기본적으로 QPainter 은 도형을 그릴 때 (현재 설정된 펜을 사용하여) 윤곽선을 렌더링합니다. 이 동작을 비활성화하려면 painter.setPen(Qt::NoPen) 를 사용하여 이 동작을 비활성화할 수 있습니다.

일반적으로 그리기에 대한 자세한 내용은 페인트 시스템을 참조하세요.

Qt::BrushStyle, QPainter, QColor참조하세요 .

멤버 함수 문서

QBrush::QBrush()

Qt::NoBrush 스타일의 기본 검정색 브러시를 만듭니다(즉, 이 브러시는 도형을 채우지 않습니다).

QBrush::QBrush(Qt::BrushStyle style)

주어진 style 으로 검은색 브러시를 만듭니다.

setStyle()도 참조하세요 .

QBrush::QBrush(const QGradient &gradient)

주어진 gradient 을 기반으로 브러시를 구성합니다.

브러시 스타일은 해당 그라데이션 스타일( Qt::LinearGradientPattern, Qt::RadialGradientPattern 또는 Qt::ConicalGradientPattern)로 설정됩니다.

QBrush::QBrush(const QImage &image)

검정색과 텍스처가 지정된 image 으로 설정된 브러시를 만듭니다. 스타일은 Qt::TexturePattern 로 설정됩니다.

setTextureImage()도 참조하세요 .

QBrush::QBrush(const QPixmap &pixmap)

검정색과 텍스처가 지정된 pixmap 으로 설정된 브러시를 만듭니다. 스타일은 Qt::TexturePattern 로 설정됩니다.

setTexture()도 참조하세요 .

QBrush::QBrush(Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern)

주어진 colorstyle 로 브러시를 만듭니다.

setColor() 및 setStyle()도 참조하세요 .

QBrush::QBrush(Qt::GlobalColor color, const QPixmap &pixmap)

주어진 colorpixmap 에 저장된 사용자 정의 패턴으로 브러시를 구성합니다.

스타일은 Qt::TexturePattern 로 설정됩니다. 색상은 Q비트맵에만 영향을 미칩니다.

setColor() 및 setTexture()도 참조하세요 .

QBrush::QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern)

주어진 colorstyle 로 브러시를 만듭니다.

setColor() 및 setStyle()도 참조하세요 .

QBrush::QBrush(const QColor &color, const QPixmap &pixmap)

주어진 colorpixmap 에 저장된 사용자 정의 패턴으로 브러시를 구성합니다.

스타일은 Qt::TexturePattern 로 설정됩니다. 색상은 Q비트맵에만 영향을 미칩니다.

setColor() 및 setTexture()도 참조하세요 .

QBrush::QBrush(const QBrush &other)

other 의 복사본을 생성합니다.

[noexcept] QBrush::~QBrush()

브러시를 파괴합니다.

const QColor &QBrush::color() const

브러시 색을 반환합니다.

setColor()도 참조하세요 .

const QGradient *QBrush::gradient() const

이 브러시를 설명하는 그라데이션을 반환합니다.

bool QBrush::isOpaque() const

브러시가 완전히 불투명하면 true, 그렇지 않으면 false를 반환합니다. 다음과 같은 경우 브러시는 불투명한 것으로 간주됩니다:

  • color()의 알파 성분이 255인 경우.
  • texture()에는 알파 채널이 없으며 QBitmap 이 아닙니다.
  • gradient()의 색은 모두 알파 성분이 255입니다.
  • 확장된 방사형 그라데이션입니다.

void QBrush::setColor(const QColor &color)

브러시 색상을 지정된 color 으로 설정합니다.

스타일이 그라데이션인 경우 setColor()를 호출해도 달라지지 않습니다. 스타일이 Qt::TexturePattern 스타일인 경우에도 현재 텍스처가 QBitmap 스타일이 아닌 한 마찬가지입니다.

color()도 참조하세요 .

void QBrush::setColor(Qt::GlobalColor color)

이것은 과부하된 함수입니다.

브러시 색상을 지정된 color 으로 설정합니다.

void QBrush::setStyle(Qt::BrushStyle style)

브러시 스타일을 style 로 설정합니다.

style()도 참조하세요 .

void QBrush::setTexture(const QPixmap &pixmap)

브러시 픽셀맵을 pixmap 로 설정합니다. 스타일은 Qt::TexturePattern 으로 설정합니다.

현재 브러시 색상은 흑백 픽셀맵, 즉 QPixmap::depth() == 1 (QBitmaps)에만 영향을 미칩니다.

texture()도 참조하십시오 .

void QBrush::setTextureImage(const QImage &image)

브러시 이미지를 image 로 설정합니다. 스타일은 Qt::TexturePattern 으로 설정합니다.

QBitmap 으로 setTexture()를 호출하는 것과 달리 현재 브러시 색상은 흑백 이미지에 영향을 주지 않습니다. 흑백 이미지 브러시의 색상을 변경하려면 QBitmap::fromImage() 으로 이미지를 QBitmap 로 변환하고 그 결과 QBitmap 를 텍스처로 설정하거나 이미지의 색상 표의 항목을 변경하세요.

textureImage() 및 setTexture()도 참조하세요 .

void QBrush::setTransform(const QTransform &matrix)

matrix 을 현재 브러시의 명시적 변환 행렬로 설정합니다. 브러시 변환 매트릭스는 QPainter 변환 매트릭스와 병합되어 최종 결과를 생성합니다.

transform()도 참조하세요 .

Qt::BrushStyle QBrush::style() const

브러시 스타일을 반환합니다.

setStyle()도 참조하세요 .

[noexcept] void QBrush::swap(QBrush &other)

이 브러시를 other 로 바꿉니다. 이 작업은 매우 빠르며 실패하지 않습니다.

QPixmap QBrush::texture() const

사용자 정의 브러시 패턴을 반환하거나 사용자 정의 브러시 패턴이 설정되지 않은 경우 null 픽셀맵을 반환합니다.

setTexture()도 참조하세요 .

QImage QBrush::textureImage() const

사용자 정의 브러시 패턴을 반환하거나 사용자 정의 브러시 패턴이 설정되지 않은 경우 null 이미지를 반환합니다.

텍스처가 QPixmap 로 설정된 경우 QImage 로 변환됩니다.

setTextureImage()도 참조하세요 .

QTransform QBrush::transform() const

브러시의 현재 변환 행렬을 반환합니다.

setTransform()도 참조하세요 .

QVariant QBrush::operator QVariant() const

브러시를 QVariant

bool QBrush::operator!=(const QBrush &brush) const

브러시가 주어진 brush 과 다르면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

두 브러시가 스타일, 색상 또는 변형이 다르거나 스타일에 따라 다른 픽스맵 또는 그라데이션이 있는 경우 두 브러시는 서로 다릅니다.

operator==()도 참조하세요 .

[noexcept] QBrush &QBrush::operator=(QBrush &&other)

이동-이 other 인스턴스를 QBrush 인스턴스에 할당합니다.

QBrush &QBrush::operator=(const QBrush &brush)

주어진 brush 브러시에 할당하고 브러시에 대한 참조를 반환합니다.

bool QBrush::operator==(const QBrush &brush) const

브러시가 주어진 brush 과 같으면 true 을 반환하고, 그렇지 않으면 false 을 반환합니다.

두 브러시의 스타일, 색상 및 변형이 같고 스타일에 따라 픽셀맵 또는 그라데이션이 같으면 두 브러시는 동일합니다.

operator!=()도 참조하세요 .

관련 비회원

QDataStream &operator<<(QDataStream &stream, const QBrush &brush)

주어진 brush 을 주어진 stream 에 쓰고 stream 에 대한 참조를 반환합니다.

Qt 데이터형 직렬화도참조하십시오 .

QDataStream &operator>>(QDataStream &stream, QBrush &brush)

주어진 stream 에서 주어진 brush 을 읽고 stream 에 대한 참조를 반환합니다.

Qt 데이터형 직렬화도참조하십시오 .

© 2025 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.