QGraphicsView和背景中的复杂多边形

时间:2013-10-30 16:06:35

标签: c++ qt opengl

我现在正在使用QGraphicsView。我想绘制一个大的(如45k点)多边形作为背景。以前,我使用OpenGL和VBO绘制它。现在我不能让OpenGL与QPainter一起工作,我也找不到在Qt中绘制多边形的有效方法。我已经覆盖了QGraphicsView :: drawBackground()方法,但我不知道下一步该怎么做以及如何让OpenGL在那里工作。当我第一次尝试创建VBO时,调用painter-> beginNativePaiting()会导致段错误。你可以给我任何提示,以便我可以继续吗?

1 个答案:

答案 0 :(得分:0)

QGraphicsView中使用OpenGL渲染文档说明如下

To render using OpenGL, simply call setViewport(new QGLWidget)

添加QPolygon我会尝试使用

将其添加到场景中
QGraphicsPolygonItem *  addPolygon ( const QPolygonF & polygon, const QPen & pen = QPen(), const QBrush & brush = QBrush() )

并将其设置为背景,您只需设置所创建项目的z-order ...就像

void    setZValue ( qreal z )
欢呼Zai