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 の定義済み色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)

与えられたcolorpixmap に格納されたカスタムパターンでブラシを構築します。

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)

与えられたcolorpixmap に格納されたカスタムパターンでブラシを構築します。

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 を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つのブラシが異なるのは、スタイル、色、変換が異なる場合、またはスタイルによって異なる pixmap やグラデーションがある場合です。

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 データ型のシリアライズ」も参照して ください。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。