QBrush Class

QBrush クラスは、QPainter によって描画される図形の塗りつぶしパターンを定義します。詳細...

ヘッダー #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 の定義済み色Qt::GlobalColor のいずれか、またはその他のカスタム色QColor のいずれかです。現在設定されている色は、それぞれcolor() およびsetColor() 関数を使用して取得および変更できます。

gradient() は、現在のスタイルがQt::LinearGradientPatternQt::RadialGradientPatternQt::ConicalGradientPattern の場合に使用されるグラデーション塗りを定義します。グラデーションブラシは、QBrush を作成する際にコンストラクタの引数としてQGradient を与えることで作成されます。Qtには3種類のグラデーションがあります: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 のときに使用される pixmap を定義します。テクスチャを含むブラシを作成するには、ブラシの作成時にその pixmap を指定するか、setTexture() を使用します。

setTexture() を適用すると、以前のスタイル設定に関係なく、style() ==Qt::TexturePattern になることに注意してください。また、setColor ()を呼び出しても、スタイルがグラデーションの場合は変わりません。現在のテクスチャがQBitmap でない限り、スタイルがQt::TexturePattern の場合も同様です。

isOpaque() 関数は、ブラシが完全に不透明であればtrue を返し、そうでなければ false を返します。ブラシは、次の場合に不透明と見なされます:

  • color() のアルファ成分が 255 である。
  • そのtexture() はアルファチャンネルを持たず、QBitmap でもない。
  • gradient() の色はすべてアルファ成分が 255 である。
アウトライン線と輪郭のスタイルと色を指定するには、QPainterpen と、Qt::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::BrushStyleQPainterQColorも参照して ください。

メンバー関数ドキュメント

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)

与えられたcolor と、pixmap に格納されているカスタムパターンでブラシを構築します。

Qt::TexturePattern色は QBitmap に対 し てのみ効力を持ち ます。

setColor() およびsetTexture()も参照してください

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

与えられたcolorstyle でブラシを構築します。

setColor() およびsetStyle()も参照 ください。

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

与えられたcolor と、pixmap に格納されているカスタムパターンでブラシを構築します。

Qt::TexturePattern色は QBitmap に対 し てのみ効力を持ち ます。

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() を呼び出しても、スタイルがグラデーションの場合は違いがないことに注意してください。現在のテクスチャがQBitmap でない限り、スタイルがQt::TexturePattern の場合も同様です。

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 に設定されます。

現在のブラシの色は、モノクロ pixmap の場合、すなわちQPixmap::depth() == 1 (QBitmaps) の場合にのみ効果を持ちます。

texture()も参照してください

void QBrush::setTextureImage(const QImage &image)

ブラシ画像をimage に設定します。 スタイルはQt::TexturePattern に設定されます。

現在のブラシの色は、QBitmapsetTexture() を呼び出すのとは対照的に、モノクロ画像には影響しないことに注意してください。 モノクロ画像のブラシの色を変更したい場合は、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 pixmap を返 し ます。

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 を返します。

2つのブラシが異なるのは、スタイル、色、トランスフォームが異なる場合、またはスタイルによって異なるピクセルマップやグラデーションがある場合です。

operator==()も参照

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

Move-other をこのQBrush インスタンスに割り当てる。

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

与えられたbrushこのブラシに割り当て、このブラシへの参照を返します。

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

ブラシが与えられたbrush と等しければtrue を返し、そうでなければfalse を返します。

2つのブラシが等しいのは、スタイル、色、トランスフォームが等しく、スタイルに応じてピクセルマップまたはグラデーションが等しい場合です。

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.