gpt4 book ai didi

c++ - Qt:QOpenGLWidget 中的文本渲染

转载 作者:搜寻专家 更新时间:2023-10-31 01:40:36 25 4
gpt4 key购买 nike

我想在 QOpenGLWidget 上绘制文本标签。我尝试使用 QPainter 来完成此任务,但没有成功 - 文本看起来很丑陋且没有抗锯齿。它在 Qt OpenGL/2dpainting 示例中看起来也很丑陋。然而,在同样使用 OpenGL 后端的 QML 控件中,文本渲染要好得多。这里http://blog.qt.io/blog/2011/07/15/text-rendering-in-the-qml-scene-graph/我发现了一种在 QML 中使用的技术。有没有办法使用该技术在 QOpenGLWidget 中绘制文本?

PS:可能正确的做法是将我的所有场景嵌入到 QQuickWidget 的 QSGSceneGraph 中?

最佳答案

确保您创建的 QGL/QopenGLWidget 具有支持抗锯齿多重采样的表面格式:

QSurfaceFormat format = QSurfaceFormat::defaultFormat();
format.setSamples(4);
QOpenGLWidget * glWidget = new QOpenGLWidget;
glWidget->setFormat(format);

然后,在该小部件上使用 QPainter 时,请确保打开抗锯齿:

QPainter painter(paintDevice);
painter.setRenderHints(QPainter::Antialiasing | QPainter::TextAntialiasing);

然后绘制您的文本。

关于c++ - Qt:QOpenGLWidget 中的文本渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29586415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com