天天看點

在QOpenGLWidget類用QPainter寫下Hello World

在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);
}
           

運作結果:

在QOpenGLWidget類用QPainter寫下Hello World

是不是好容易?可以用以前的知識了,在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);
}
           

多謝,親愛的美美。

繼續閱讀