关于使用QOpenglWidget进行2D文字绘制的注意事项

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

 

posted @ 2022-02-24 16:20  小油人  阅读(1015)  评论(0编辑  收藏  举报