我重新实现 QGraphicsView ,让场景使用鼠标滚轮事件进行缩放。该场景包含几个 QGraphicsPixmapItem 。 wheel事件调用 QGraphicsView :: scale(qreal sx,qreal sy)
一切都很完美,但渲染。当我缩小(场景变小)时,会出现锯齿。我尝试在重新实现的 QGraphicsView 构造函数中设置渲染提示,如下所示:
ImageViewer::ImageViewer(QWidget * parent) :
QGraphicsView(parent)
{
setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform | QPainter::HighQualityAntialiasing);
}
我仍然看到这些文物。我怎么能摆脱这个?
答案 0 :(得分:5)
请参阅我对this question的评论。
基本上,您必须在要申请抗锯齿功能的setTransformationMode(Qt::SmoothTransformation)
上致电QGraphicsItem
。
在视图上调用setRenderHints
对我来说也不起作用。
答案 1 :(得分:0)
仅在设置使用画家的情况下才应用渲染提示。这里是一个片段:
Write Defaults