我正在尝试使用开放式GL制作QT应用程序,但无论我做什么,我都无法做任何事情,它只是呈现黑色。
void GraphView::initializeGL()
{
qglClearColor(Qt::black);
glClear(GL_COLOR_BUFFER_BIT );
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0.0 , 256.0, 256.0, 0.0, -1.0, 1.0);
glColor3f(1.0, 1.0, 1.0);
glBegin(GL_QUADS);
glVertex3f(0 , 0 , 0.0);
glVertex3f(0 , 128.0 , 0.0);
glVertex3f(128.0, 128.0 , 0.0);
glVertex3f(128.0, 0 , 0.0);
glEnd();
glFlush();
}
我唯一能做到的就是将屏幕颜色变为红色。但即便如此,如果我添加以下代码:
void GraphView::mousePressEvent(QMouseEvent *event)
{
qglClearColor(Qt::red);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glFlush();
}
它似乎绝对没有;但是如果窗口调整大小,颜色会改变 - 调整大小方法只是一个空的{ }
事件。但是如果我在同一个应用程序中用另一个GLwidget打开第二个窗口,它会显示firefox窗口的一部分,通常是书签。我不确定是否有任何特殊原因;但它似乎没有显示任何其他应用程序。