通过在QGraphicsScene的 drawBackground(), 我给QGraphicsScene增加两个QGraphicsRectItem , 其中一个item是在左上角(有四个
按钮的
对话框), 另外一个在右上角(一个黄色太阳)
所有
opengl的代码都写在QGraphicsScene的 drawBackground()里.
如果代码如下:
MTList=glGenLists(1);
glEnableClientState(GL_VERTEX_ARRAY);
Vertex_iterator vi = model.vertices_begin();
glVertexPointer(3, GL_DOUBLE, sizeof(Vertex), &(vi->point()[0]));
glDisable(GL_LIGHTING);
glNewList(MTList, GL_COMPILE);
glColor3f(1.0,0.0,1.0);
//glLineWidth(10.0);
//glDisable(GL_CULL_FACE);
//glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
glDrawElements(GL_POINTS, 3*model.size_of_facets(), GL_UNSIGNED_INT, &modelfaces[0]); glEndList();
glDisableClientState(GL_VERTEX_ARRAY);
显示正确:

然而,当我启用这一行代码:glPolygonMode(GL_FRONT_AND_BACK, GL_LINE):
两个item(四按钮
窗口和黄色太阳就变形了):

为什么会这样呢?