QGraphicsEffect 不能正确刷新

QGraphicsEffect doesn t refresh correctly

实际上我有一个只能水平移动的 QPolygonF,当它移动时,它会从初始点到当前点绘制阴影效果。这很好用,但是当我移动多边形太快时,我得到了无法正确清除的残留效果,或者我的阴影中出现了一些空白点。

这是我的代码效果

void    ShadowEffect::draw(QPainter *painter)
{
    QBrush b(QColor(0,0,0,128)); // adjust color and alpha to taste
    painter->setBrush(b);
    painter->setPen(QPen(QColor(0,0,0,128)));
    painter->drawRect(0, 0, *dist, 10+slider->size().height()*1.5);
    drawSource(painter);
}

已解决。场景没有正确更新,所以我只是在我的 class 中放置了一个触发器,以便在每次移动多边形

时调用它
    connect(myPolygon, &MyPolygon::valueChanged, [scene](){scene->update();});