实际上我有一个只能水平移动的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);
}
答案 0 :(得分:0)
解决。场景没有正确更新所以我只是在我的课堂上设置了一个触发器,每当我移动多边形时都会调用它
connect(myPolygon, &MyPolygon::valueChanged, [scene](){scene->update();});