使用glClear和glClearColor,为什么背景颜色变不了呢,一直是黑的



#include "glwidget.h"
#include "qwidget.h"
#include "ui_widget.h"
#include "QTOPENGL\glu.h"
#include <QtGui>
#include <QtOpenGL>


/*
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}
*/

NeHeWidget::NeHeWidget(QGLWidget *parent,bool fs):
    QGLWidget(parent)
//  ui(new Ui::NeHeWidget)
{
//    ui->setupUi(this);
    fullscreen=fs;
    setGeometry(100,200,640,480);
    setWindowTitle("NeHe'OpenGL Framework");
    if(fullscreen)
        showFullScreen();
}
NeHeWidget::~NeHeWidget()
{
 //   delete ui;
}
void NeHeWidget::initializeGL()
{
    glClearColor(0.5,0.5,0.0,0.0);
    glShadeModel(GL_SMOOTH);
    glClearDepth(1.0);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);
    glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);
}
void NeHeWidget::paintGL()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BITS);
    glLoadIdentity();
    glBegin(GL_TRIANGLES);
    glColor3f(1.0,0.0,0.0);
    glVertex3f(0.0,1.0,0.0);
    glVertex3f(-1.0,-1.0,0.0);
    glVertex3f(1.0,-1.0,0.0);
    glEnd();
}
void NeHeWidget::resizeGL(int width, int height)
{
    if(height==0)
    {
        height=1;
    }
    glViewport(0,0,(GLint)width,(GLint)height);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(45.0,(GLfloat)width/(GLfloat)height,0.1,100.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
}
void NeHeWidget::keyPressEvent(QKeyEvent*e)
{
    switch(e->key())
    {
    case Qt::Key_F2:
        fullscreen=!fullscreen;
        if(fullscreen)
        {
            showFullScreen();
        }
        else
        {
            showNormal();
            setGeometry(100,200,640,480);
        }
        updateGL();
        break;
    case Qt::Key_Escape:
        close();
    }
}

可以

clude "glwidget.h"
#include "qwidget.h"
#include "ui_widget.h"
#include "QTOPENGL\glu.h"
#include
#include

/*
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui->setupUi(this);
}

Widget::~Widget()
{
delete ui;
}
*/

NeHeWidget::NeHeWidget(QGLWidget *parent,bool fs):
QGLWidget(parent)
// ui(new Ui::NeHeWidget)
{