關於使用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);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM