我想创建一个既有利于OpenGL又有QML优势的应用程序。我想使用QOpenGLWidget
并在其上放置QML Item
。 Item
将部分透明。我虽然可以使用QQuickView
,但我发现它确实涵盖了所有黑色透明部分。可以在我的GitHub here上找到实现我需要的尝试(示例项目)。
是否可以将QML Item
与所有孩子一起呈现给现有QWidget
,使其在Item
下可见,Item
不完全不透明?
我想在最糟糕的情况下我可以从QWidget
和Item
对象创建位图,以某种方式组合并显示它们但我寻求更简单的方法。如果没有更简单的方法,我可以永远不会同时显示这两个。
我不想直接在QML中使用OpenGL功能的原因是this。也许我应该使用链接中提到的工作。
答案 0 :(得分:0)
我认为你不需要Widgets。您可以使用QQuickFramebufferObject类在QtQuick中进行自定义渲染。我曾经这样做过,虽然没有代码了。本文似乎解释了该做什么https://blog.qt.io/blog/2015/05/11/integrating-custom-opengl-rendering-with-qt-quick-via-qquickframebufferobject/