1

我想制作一个可以同时受益于 OpenGL 和 QML 优势的应用程序。我想使用QOpenGLWidgetQML 并将Item其放在上面。Item将是部分透明的。我虽然可以通过使用QQuickView,但我只是发现它确实用黑色覆盖了所有透明部分。可以在我的 GitHub 上找到实现我需要的东西(示例项目)的尝试。

是否可以将所有子代的 QMLItem以这样的方式渲染到一个现有的对象上,使其在不完全不透明的地方QWidget可见?ItemItem

我想在最坏的情况下,我可以从QWidgetItem对象创建位图,以某种方式组合并显示它们,但我寻求更简单的方法。如果没有更简单的方法,我就永远无法同时显示这两个。

我不想直接在 QML 中使用 OpenGL 功能的原因是这个。也许我应该只使用链接中提到的解决方法。

4

1 回答 1

0

我认为您不需要小部件。您可以使用QQuickFramebufferObject类在 QtQuick 中进行自定义渲染。我以前也这样做过,但现在没有代码了。这篇文章似乎解释了该怎么做https://blog.qt.io/blog/2015/05/11/integrating-custom-opengl-rendering-with-qt-quick-via-qquickframebufferobject/

于 2016-07-06T10:20:05.260 回答