QBrush是Qt框架中的一个类,它用于定义图形的填充模式。QBrush可以用于填充图形项(如QGraphicsItem)的形状,也可以用于绘制背景等。
关键特性
- 颜色:QBrush可以设置颜色,用于填充图形。
- 样式:QBrush可以设置样式,如实心、渐变、纹理等。
- 纹理:QBrush可以设置纹理,用于创建复杂的填充效果。
常用方法
- QBrush(const QColor &color, Qt::BrushStyle style = Qt::SolidPattern):构造函数,可以指定颜色和样式。
- void setColor(const QColor &color):设置颜色。
- QColor color() const:获取颜色。
- void setStyle(Qt::BrushStyle style):设置样式。
- Qt::BrushStyle style() const:获取样式。
- void setTexture(const QPixmap &pixmap):设置纹理。
- QPixmap texture() const:获取纹理。
使用示例
以下是如何使用QBrush来填充一个矩形的示例:
QPainter painter(this);
QBrush brush(Qt::red); // 创建一个红色的刷子
brush.setStyle(Qt::SolidPattern); // 设置样式为实心
painter.setBrush(brush); // 设置画家的刷子
painter.drawRect(10, 10, 100, 100); // 绘制一个矩形
在这个示例中,我们首先创建了一个红色的QBrush对象,并设置了其样式为实心。然后,我们将这个刷子设置给了画家(QPainter),并使用画家绘制了一个矩形。结果是一个红色的实心矩形。
你还可以使用QBrush来创建更复杂的填充效果,如渐变、纹理等。例如,你可以使用QLinearGradient或QRadialGradient来创建渐变效果,或者使用QPixmap来创建纹理效果。