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();});
实际上我有一个只能水平移动的 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();});