Qt 如何填充地块下方的区域?

Qt 如何填充地块下方的区域?,qt,qpainter,brush,Qt,Qpainter,Brush,我有下面的代码,它应该画一个正弦函数并填充它的内部-这个函数和零级之间的所有内容。 但是我设置的刷子不工作。是否应该调用任何附加函数?现在我只画了正弦函数和零电平,没有任何填充 void Widget::paintEvent(QPaintEvent *event) { QPainter painter(this); QPen myPen(Qt::black, 2, Qt::SolidLine); painter.setPen(myPen); painter.setBrush(QBrush(QC

我有下面的代码,它应该画一个正弦函数并填充它的内部-这个函数和零级之间的所有内容。 但是我设置的刷子不工作。是否应该调用任何附加函数?现在我只画了正弦函数和零电平,没有任何填充

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);
}
void小部件::paintEvent(QPaintEvent*event)
{
油漆工(本);
QPen myPen(Qt::黑色,2,Qt::实线);
画师:设置笔(myPen);
画师.镶嵌(QBrush(QColor(0,0,0,20));
QPointF*pointArray=新的QPointF[251*2];
对于(int i=0;i<251;++i)
{
点阵列[i].setX(i);
点阵列[i].setY(100*qSin(i/10.0));
}
对于(int i=251;i<251*2;i++)
{
点阵列[i].setX(i-251);
点数组[i].setY(0);
}
painter.setRenderInt(QPainter::抗锯齿);
painter.setRenderInt(QPainter::高质量抗锯齿);
绘制多段线(点阵列,251*2);
}

drawPolyLine不填充,试试drawPolygon@Eelke,酷!这真的奏效了。