在myOpenGLWidget中添加 void paintGL();重載函數。
修改一下void paintGL函數,用QPainter畫上文字:
void myOpenGLwindow::paintGL()
{
glDisable(GL_DEPTH_TEST);
QPainter painter;
painter.begin(this);
QPen pen;
pen.setColor(Qt::red);
painter.setPen(pen);
painter.drawText(100,100,"helloworld");
painter.end();
glEnable(GL_DEPTH_TEST);
}
運作結果:
是不是好容易?可以用以前的知識了,在OpenGL中!
完整代碼
myOpenGLWindow.h
#ifndef MYOPENGLWINDOW_H
#define MYOPENGLWINDOW_H
#include <QOpenGLWidget>
class myOpenGLwindow : public QOpenGLWidget
{
public:
myOpenGLwindow();
protected:
void paintGL();
};
#endif // MYOPENGLWINDOW_H
myOpenGLWindow.cpp
#include "myopenglwindow.h"
#include <QPainter>
myOpenGLwindow::myOpenGLwindow()
{
}
void myOpenGLwindow::paintGL()
{
glDisable(GL_DEPTH_TEST);
QPainter painter;
painter.begin(this);
QPen pen;
pen.setColor(Qt::red);
painter.setPen(pen);
painter.drawText(100,100,"helloworld");
painter.end();
glEnable(GL_DEPTH_TEST);
}
多謝,親愛的美美。