OpenGL显示组件为QGLWidget; 注意:不是QWidget!
openGLWidget.h
1: class openGLWidget : public QGLWidget
2: {
3: Q_OBJECT
4: public:
5: openGLWidget(QGLWidget *parent = 0);
6: ~openGLWidget();
7: protected:
8: void initializeGL();
9: void resizeGL(int w, int h);
10: void paintGL();
11: };
openGLWidget.cpp
1: #include "openglwidget.h"
2:
3: openGLWidget::openGLWidget(QGLWidget *parent)
4: { }
5:
6: openGLWidget::~openGLWidget()
7: { }
8:
9: void openGLWidget::initializeGL()
10: { }
11: void openGLWidget::resizeGL(int w, int h)
12: { }
13:
14: void openGLWidget::paintGL()
15: {
16: renderText(20,100," Hello World! ");
17: }
main.cpp
1: #include "openglwidget.h"
2: #include <QtGui/QApplication>
3:
4: int main(int argc, char *argv[])
5: {
6: QApplication a(argc, argv);
7: openGLWidget w;
8: w.resize(800,600);
9: w.show();
10: return a.exec();
11: }
QT中写OpenGL程序,以下三个函数必须实现!
void initializeGL();
void resizeGL(int w, int h);
void paintGL();