无法让OpenGL视图在QT应用程序中工作

时间:2016-08-06 01:04:38

标签: c++ qt opengl qt-creator

我正在尝试使用开放式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窗口的一部分,通常是书签。我不确定是否有任何特殊原因;但它似乎没有显示任何其他应用程序。

0 个答案:

没有答案