У меня есть следующий код, который должен нарисовать функцию синуса и заполнить ее внутренности - все, что находится между этой функцией и нулевым уровнем.Но кисть, которую я настроил, не работает.Должна ли быть вызвана какая-либо дополнительная функция?Теперь у меня есть только функция синуса и нулевой уровень, которые рисуются без заливки.
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);
}