抗锯齿不能在QGraphicsView中工作

Alg*_*lgo 6 qt antialiasing pointer-aliasing qgraphicsview

我重新实现了QGraphicsView以使用鼠标滚轮事件缩放场景.该场景包含几个QGraphicsPixmapItem.wheel事件调用QGraphicsView :: scale(qreal sx,qreal sy)

一切都很完美,但渲染.当我缩小(场景变小)时,会出现锯齿.我尝试在重新实现的QGraphicsView构造函数中设置渲染提示如下:

ImageViewer::ImageViewer(QWidget * parent) :
  QGraphicsView(parent)
{
   setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
}
Run Code Online (Sandbox Code Playgroud)

我仍然看到这些文物.我怎么能摆脱这个?

Pat*_*ick 6

请参阅我对此问题的评论.

基本上,你要叫setTransformationMode(Qt::SmoothTransformation)QGraphicsItem你要的抗锯齿申请.

呼吁setRenderHints这个观点对我来说也不起作用.