
有没有简单的方式来渲染文本使用qopenglwidget?我不想从头开始用OpenGL构建整个文本渲染
解决方法 我最终做了一个类似于@jaba写的解决方案.我也注意到一些图形损坏,除非我在方法的结尾调用了painter.end().voID MapCanvas::renderText(double x,double y,double z,const QString &str,const QFont & Font = QFont()) { // IDentify x and y locations to render text within Widget int height = this->height(); GLdouble textPosX = 0,textPosY = 0,textPosZ = 0; project(x,y,0f,&textPosX,&textPosY,&textPosZ); textPosY = height - textPosY; // y is inverted // RetrIEve last OpenGL color to use as a Font color GLdouble glcolor[4]; glGetDoublev(GL_CURRENT_color,glcolor); Qcolor Fontcolor = Qcolor(glcolor[0],glcolor[1],glcolor[2],glcolor[3]); // Render text QPainter painter(this); painter.setPen(Fontcolor); painter.setFont(Font); painter.drawText(textPosX,textPosY,text); painter.end();} 总结 以上是内存溢出为你收集整理的c – 如何使用QOpenGLWidget渲染文本全部内容,希望文章能够帮你解决c – 如何使用QOpenGLWidget渲染文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)