1

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

4

1 回答 1

0

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

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 )

干杯仔

于 2013-10-31T08:32:31.370 回答