如何使用QSGGeometry对自定义QQuickItem进行抗锯齿处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用QSGGeometry对自定义QQuickItem进行抗锯齿处理相关的知识,希望对你有一定的参考价值。

我创建了自己的Custom QQuickItem,它应该使用QSGGeometry绘制曲线:

curve = new QSGGeometryNode;
curve->setFlag(QSGNode::OwnsMaterial,true);
curve->setFlag(QSGNode::OwnsGeometry,true);
curve->setGeometry(_geometry);

_geometry = new QSGGeometry(QSGGeometry::defaultAttributes_Point2D(),_xdata.size());
QSGGeometry::Point2D *points = _geometry->vertexDataAsPoint2D();
for(int i=0;i<_xdata.size();i++) {
    points[i].x = _xdata[i];
    points[i].y = _ydata[i];
}
_geometry->setLineWidth(2);
_geometry->setDrawingMode(GL_LINE_STRIP);
curve->setGeometry(_geometry);

如何为此曲线启用抗锯齿?

答案

试试这个:

QQuickView view;
QSurfaceFormat format = view.format();
format.setSamples(16);
view.setFormat(format);
view->setSource("...");
view.show();

以上是关于如何使用QSGGeometry对自定义QQuickItem进行抗锯齿处理的主要内容,如果未能解决你的问题,请参考以下文章

如何使用喷雾对自定义对象进行 jsonize 处理?

如何使用 NSKeyedArchiver 对自定义类进行编码和解码

如何在 TensorFlow 中使用 Hugging Face Transformers 库对自定义数据进行文本分类?

Symfony2:如何对自定义复合表单类型使用约束?

如何在 Delphi 2009 中对自定义组件进行鼠标平移

如何对自定义 Wicket 组件进行单元测试