QGraphicsView RubberBandDrag留下了工件

时间:2017-11-13 13:24:33

标签: qt qgraphicsview qgraphicsscene qgraphicsitem artifacts

我设置了QGraphicsView和QGraphicsScene而没有更改任何属性但是

view->setDragMode(QGraphicsView::RubberBandDrag);
view->setRenderHint(QPainter::Antialiasing, true);

当拖动arround一点时,RubberBandDrag会留下瑕疵而且RubberBand本身经常被渲染错误,缺少边:

QGraphicsScene RubberBandDrag Artifacts

其他图形项目(例如常规QGraphicsRectItem)也会留下这些痕迹。我试过没有抗锯齿,但这似乎使它更糟。

我是否必须设置视图/场景的特定属性,例如禁用优化标志?

或者这只是Qt的错误? (我使用的是5.9.2) 至少我找不到这个报告。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。在我玩这两个电话后,事情得到了解决。

QGraphicsView.setCacheMode(QGraphicsView::CacheBackground);

QGraphicsView.setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);