QBrush Class Reference
[QtGui module]
该类定义填充的绘画形状。
#include <QBrush>
公共函数:
QBrush ()
 QBrush ( Qt::BrushStyle style )
 QBrush ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern )
 QBrush ( Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern )
 QBrush ( const QColor & color, const QPixmap & pixmap )
 QBrush ( Qt::GlobalColor color, const QPixmap & pixmap )
 QBrush ( const QPixmap & pixmap )
 QBrush ( const QImage & p_w_picpath )
 QBrush ( const QBrush & other )
 QBrush ( const QGradient & gradient )
 ~QBrush ()
const QColor & color () const
const QGradient * gradient () const
bool isOpaque () const
const QMatrix & matrix () const
void setColor ( const QColor & color )
void setColor ( Qt::GlobalColor color )
void setMatrix ( const QMatrix & matrix )
void setStyle ( Qt::BrushStyle style )
void setTexture ( const QPixmap & pixmap )
void setTextureImage ( const QImage & p_w_picpath )
void setTransform ( const QTransform & matrix )
Qt::BrushStyle style () const
QPixmap texture () const
QImage textureImage () const
QTransform transform () const
 operator QVariant () const
bool operator!= ( const QBrush & brush ) const
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(依赖你怎样构建一个笔刷).这个风格告诉painter不填充形状。标准的填充风格是Qt::SolidPattern.这个风格能被设置,当笔刷被构建使用合适的构造器,此外setStyle()来变更风格。
 
 笔刷color()定义填充样式的颜色。颜色既能是Qt预先定义的颜色之一,Qt::GlobalColor,也能是任何其他风格的QColor。目前的设置颜色能被找到和变更使用color()和setColor()函数,各自的。
函数gradient()定义填充斜度,当目前的风格要么是Qt::LinearGradientPattern,Qt::RadialGradientPattern或者Qt::ConicalGradientPattern。斜度笔刷被创建通过给一个QGradient作为一个构造器当创建一个QBrush时。Qt提供三种不同的斜度:Qt::LinearGradientPattern,Qt::RadialGradientPattern或者Qt::ConicalGradientPattern,他们都继承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()定义被使用的pixmap,当目前的风格是Qt::TexturePattern。你能创建一个笔刷带一个质地通过提供pixmap当笔刷被创建使用setTexture()。
注意应用setTexture()使style()==Qt::TexturePattern,不管之前的风格设置是怎样的。如果风格是一个斜度,也可调用setColor()将不产生不同。相同的是如果风格是Qt::TexturePattern风格,除非目前的质地是一个QBitmap。
函数isOpaque()返回真,如果笔刷是完全不透明的。笔刷被认为是不透明的,如果:
他的color()的透明度是255
他的texture()没有一个透明槽,不是一个QBitmap。
在gradient()颜色都有一个255的透明度。
 
为了指定风格和行以及轮廓的颜色,使用QPainter的pen结合Qt::PenStyle和Qt::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反映轮廓(使用目前的设置pen)当绘制形状时。使用painter.setPen(Qt::NoPen)来取消这个行为。
想要了解更多关于绘制,看The Paint System文件
成员函数文件:
QBrush::QBrush ()
构建一个缺省的黑色笔刷使用风格Qt::NoBrush
QBrush::QBrush ( Qt::BrushStyle style )
构建一个黑色笔刷使用被给的风格
QBrush::QBrush ( const QColor & color, Qt::BrushStyle style = Qt::SolidPattern )
构建一个笔刷是用被给的颜色和风格。
QBrush::QBrush ( Qt::GlobalColor color, Qt::BrushStyle style = Qt::SolidPattern )
构建一个笔刷使用被给的颜色和风格。
QBrush::QBrush ( const QColor & color, const QPixmap & pixmap )
构建一个笔刷使用被给的颜色和通常的被存储在pixmap中的样式。
风格被指使到Qt::TexturePattern。颜色将只有一个效果为QBitmaps。
QBrush::QBrush ( Qt::GlobalColor color, const QPixmap & pixmap )
QBrush::QBrush ( const QPixmap & pixmap )
构建一个笔刷使用一个黑色和一个由被给的pixmap设置的质地。风格被设置到Qt::TexturePattern
QBrush::QBrush ( const QImage & p_w_picpath )
构建一个笔刷使用一个黑色和一个由被给的p_w_picpath设置的质地。风格被设置到Qt::TexturePattern。
QBrush::QBrush ( const QBrush & other )
构建一个other的拷贝。
QBrush::QBrush ( const QGradient & gradient )
构建一个笔刷基于被给的斜度
笔刷风格被设置为相符合的斜度风格(Qt::LinerGradientPattern,Qt::RadialGradientPattern或者Qt::ConicalGradientPattern)
QBrush::~QBrush ()
const QColor & QBrush::color () const
const QGradient * QBrush::gradient () const
bool QBrush::isOpaque () const
const QMatrix & QBrush::matrix () const
返回目前的变化模型
void QBrush::setColor ( const QColor & color )
void QBrush::setColor ( Qt::GlobalColor color )
void QBrush::setMatrix ( const QMatrix & matrix )
设置matrix作为一个明确的变化模型在目前的笔刷上。笔刷变化模型是混合用QPainter变化模型来产生最终的结果。
void QBrush::setStyle ( Qt::BrushStyle style )
void QBrush::setTexture ( const QPixmap & pixmap )
设置笔刷像素到pixmap。风格是被设置到Qt::TexturePattern
目前的笔刷颜色将只有一个效果为单色的像素。QPixmap::depth()==1(QBitmaps)
void QBrush::setTextureImage ( const QImage & p_w_picpath )
注意目前的笔刷颜色将没有任何效果在单色的图片,对应调用setTexture()带一个QBitmap。如果你想改变单×××片笔刷的颜色,要么转换p_w_picpath到QBitmap使用QBitmap::fromImage(),设置QBitmap作为一个质地,或者改变在图片颜色桌的条目。
void QBrush::setTransform ( const QTransform & matrix )
Qt::BrushStyle QBrush::style () const
QPixmap QBrush::texture () const
QImage QBrush::textureImage () const
QTransform QBrush::transform () const
QBrush::operator QVariant () const
返回笔刷作为一个QVariant
bool QBrush::operator!= ( const QBrush & brush ) const
QBrush & QBrush::operator= ( const QBrush & brush )
bool QBrush::operator== ( const QBrush & brush ) const
相关的非成员:
QDataStream & operator<< ( QDataStream & stream, const QBrush & brush )
QDataStream & operator>> ( QDataStream & stream, QBrush & brush )