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