如何填充情节下的区域?

时间:2018-10-06 11:33:19

标签: qt qpainter brush

我有以下代码,应绘制一个正弦函数并填充其内部-该函数和零级之间的所有内容。 但是我设置的刷子不起作用。是否应该调用任何其他功能?现在我只画了正弦函数和零电平,没有任何填充。

void Widget::paintEvent(QPaintEvent *event)
{
QPainter painter(this);

QPen myPen(Qt::black, 2, Qt::SolidLine);
painter.setPen(myPen);
painter.setBrush(QBrush(QColor(0, 0, 0, 20)));

QPointF* pointArray = new QPointF[251 * 2];
for (int i=0; i < 251; ++i)
{
  pointArray[i].setX(i);
  pointArray[i].setY(100*qSin(i/10.0));
}

for (int i = 251; i < 251*2; i++)
{
    pointArray[i].setX(i - 251);
    pointArray[i].setY(0);
}

painter.setRenderHint(QPainter::Antialiasing);
painter.setRenderHint(QPainter::HighQualityAntialiasing);


painter.drawPolyline(pointArray, 251*2);
}

0 个答案:

没有答案