Как заполнить участок под участок? - PullRequest
0 голосов
/ 06 октября 2018

У меня есть следующий код, который должен нарисовать функцию синуса и заполнить ее внутренности - все, что находится между этой функцией и нулевым уровнем.Но кисть, которую я настроил, не работает.Должна ли быть вызвана какая-либо дополнительная функция?Теперь у меня есть только функция синуса и нулевой уровень, которые рисуются без заливки.

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);
}
...