1、Qt提供的QOpenglWidget目前提供了使用QPainter在窗口中绘制2D文字及图形的能力,使用方法是在继承于QOpenglWidget的子类的paintGL方法中使用QPainter进行2D图形及文字的绘制,QPainter的使用需要

按照如下的方式方可正常使用

CustomWidget:public QOpenglWidget
{
virtual paintGl()
{
//render 3d   ,use   opengl
 
//render 2d or text
 
QPainter painter(this);
painter.drawText(100,100,"Hello World!");
painter.end();
 
}
}

 

2、绘制文字时,在作为3D渲染后,必须将渲染模型切换为 填充渲染,否则在2D 文字的渲染会出现异常

glPolygonMode(GL_FRONT_AND_BACK,GL_FILL);

若opengl上下文当前的渲染模型为GL_LINE,则文字渲染会出现异常

不能使用该种模型:glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);