OpenGL渲染到QML项

6

我有一个包含QML项布局的QML文件,现在我想让其中一个项成为QGLWidget,即我想呈现到特定的QML项。

请问有人知道如何实现吗?

1个回答

3
我想最简单的方法就是提供一个用C++实现的新的自定义组件给QML。我找不到现成的内容。
你可以继承QDeclarativeItem并在使用QPainter::beginNative()函数后,在paint函数中实现你的OpenGL代码。之后,你可以通过this way“导出”你的新自定义项到QML。这很简单,应该能正常工作,但你需要将QDeclarativeView的视口设置为QGLWidget,类似于这样:
QDeclarativeView view;
// This is needed because OpenGL viewport doesn't support partial updates.
view.setViewportUpdateMode(QGraphicsView::FullViewportUpdateMode);
view.setViewport(new QGLWidget);

或者您将不得不在整个应用程序中使用OpenGL图形系统。另一种方法是使用QML/3D此线程将为您提供其他信息。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接