在QWidget上显示QML项目

时间:2016-06-25 13:01:03

标签: qt opengl qml qt5 qtwidgets

我想创建一个既有利于OpenGL又有QML优势的应用程序。我想使用QOpenGLWidget并在其上放置QML ItemItem将部分透明。我虽然可以使用QQuickView,但我发现它确实涵盖了所有黑色透明部分。可以在我的GitHub here上找到实现我需要的尝试(示例项目)。

是否可以将QML Item与所有孩子一起呈现给现有QWidget,使其在Item下可见,Item不完全不透明?

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

我不想直接在QML中使用OpenGL功能的原因是this。也许我应该使用链接中提到的工作。

1 个答案:

答案 0 :(得分:0)

我认为你不需要Widgets。您可以使用QQuickFramebufferObject类在QtQuick中进行自定义渲染。我曾经这样做过,虽然没有代码了。本文似乎解释了该做什么https://blog.qt.io/blog/2015/05/11/integrating-custom-opengl-rendering-with-qt-quick-via-qquickframebufferobject/

相关问题