2016-06-25 8 views
0

OpenGLとQMLの両方のメリットを享受するアプリケーションを作りたいと思います。 QOpenGLWidgetを使用してQML Itemを置きたいと思います。 Itemは部分的に透明になります。私はQQuickViewを使用することで可能かもしれませんが、私はそれが黒色ですべての透明部分をカバーしていることを考え出しました。 GitHub hereに、私が必要とするもの(サンプルプロジェクト)を達成しようとする試みがあります。QWidget上にQMLアイテムを表示する

はそれがItemが完全に不透明ではありませんどこに、Itemの下に表示されているように、既存のQWidget上にすべての子どもたちとQML Itemをレンダリングすることが可能ですか?

最悪の場合のシナリオでは、QWidgetオブジェクトとItemオブジェクトからビットマップを作成して、何とか組み合わせて表示することができますが、私はより簡単な方法を模索していると思います。簡単な方法がない場合、私はその2つを同時に表示することはできません。

OpenGL機能をQMLで直接使用したくない理由は、thisです。たぶん私はちょうどリンクで述べた回避策を使用する必要があります。

+1

QQuickWidgetを試しましたか?それは問題のあるウィンドウコンテナのはるかに優れた代替品になっているはずです。 – jpnurmi

+0

@ J-PNurmiありがとうございます。私は以前にそれを試していませんでした。これをチェックしてお知らせします –

+1

ウィジェットを使用せずにカスタムOpenGLをqtquickビュー内でレンダリングすることができます –

答えて

0

あなたはウィジェットを必要としないと思います。 QQuickFramebufferObjectクラスを使用してQtQuickでカスタムレンダリングを行うことができます。私はこれまでこれをやっていましたが、コードはもうありませんでした。この記事は何をすべきかを説明しているようですhttps://blog.qt.io/blog/2015/05/11/integrating-custom-opengl-rendering-with-qt-quick-via-qquickframebufferobject/

関連する問題