提交 923a7517 编写于 作者: mahuifa's avatar mahuifa

新功能:设置QPainter笔刷样式

上级 182f9d2c
......@@ -117,7 +117,7 @@ void RenderArea::drawPattern(QPainter &painter)
{
painter.save();
QRect rect(10, 20, 80, 60);
QRect rect(10, 20, 280, 260);
static const QPoint points[4] = {
QPoint(10, 80),
QPoint(20, 10),
......@@ -128,9 +128,9 @@ void RenderArea::drawPattern(QPainter &painter)
int arcLength = 120 * 16; // 弧线角度
// 创建一个绘制路径
QPainterPath path;
path.moveTo(20, 80); // 移动开始点
path.moveTo(20, 180); // 移动开始点
path.lineTo(20, 30); // 添加一条(80到30d)竖线
path.cubicTo(QPoint(80, 0), QPoint(50, 50), QPoint(80, 80)); // 添加一条曲线
path.cubicTo(QPoint(180, 0), QPoint(80, 80), QPoint(180, 180)); // 添加一条曲线
switch (m_shape)
{
case Line: // 绘制线段
......
......@@ -148,10 +148,50 @@ void Widget::on_com_brushStyle_activated(int index)
{
Q_UNUSED(index)
Qt::BrushStyle style = Qt::BrushStyle(ui->com_brushStyle->currentData().toInt());
QBrush brush;
brush.setStyle(style);
brush.setColor(Qt::red);
ui->widget->setBrush(brush);
switch (style)
{
case Qt::LinearGradientPattern: // 添加线性渐变图案
{
QLinearGradient linearGradient(0, 0, 100, 100);
linearGradient.setColorAt(0.0, Qt::white);
linearGradient.setColorAt(0.2, Qt::green);
linearGradient.setColorAt(1.0, Qt::black);
ui->widget->setBrush(linearGradient);
break;
}
case Qt::RadialGradientPattern: // 添加径向渐变图案
{
QRadialGradient radialGradient(50, 50, 50, 70, 70);
radialGradient.setColorAt(0.0, Qt::white);
radialGradient.setColorAt(0.2, Qt::green);
radialGradient.setColorAt(1.0, Qt::black);
ui->widget->setBrush(radialGradient);
break;
}
case Qt::ConicalGradientPattern: // 添加锥形渐变图案
{
QConicalGradient conicalGradient(50, 50, 150);
conicalGradient.setColorAt(0.0, Qt::white);
conicalGradient.setColorAt(0.2, Qt::green);
conicalGradient.setColorAt(1.0, Qt::black);
ui->widget->setBrush(conicalGradient);
break;
}
case Qt::TexturePattern: // 添加图片纹理笔刷
{
ui->widget->setBrush(QBrush(QPixmap("C:/Users/mhf/Pictures/grid.PNG")));
break;
}
default:
{
QBrush brush;
brush.setStyle(style);
brush.setColor(Qt::red);
ui->widget->setBrush(brush);
break;
}
}
}
/**
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册