0

我使用 QPixmapItem 在 QGraphicsview 视口中显示图像。我一次加载数千个像素图。所以我决定设置一些选项来缓存我为图像加载的像素图。这是我所做的:

View->scene()->setItemIndexMethod(QGraphicsScene::NoIndex);
    View->setRenderHint(QPainter::Antialiasing, false);

    QGLFormat fmt;
    fmt.setSampleBuffers(true);
    fmt.setSamples(2);
    //View->setViewport(new QGLWidget(QGLFormat(QGL::SampleBuffers)));
     View->setViewport(new QGLWidget(fmt));

    View->setOptimizationFlags(QGraphicsView::DontSavePainterState | QGraphicsView::DontAdjustForAntialiasing);
    View->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
 View->setTransformationAnchor(QGraphicsView::AnchorUnderMouse);

    View->setCacheMode(QGraphicsView::CacheBackground);

如果我不使用 QGLWidget 和 OpenGL 作为 QGraphicsVIew 的视口,则像素图看起来很正常,但如果我使用 OpenGL 视口,则渲染的像素图看起来“模糊”。“模糊”的情况在左侧,在右侧正常。

在此处输入图像描述 在此处输入图像描述

4

0 回答 0